はじめに
プラットフォームAPIドキュメントの多くの例で使用されているcurlステートメントとコマンドラインは、難しくて威圧的であると感じる人もいます。このような場合、Brightcove API のほとんどを含む REST ベースのサービスに HTTP リクエストを送信するためのツールが多数用意されています。このドキュメントでは、人気のあるツールの1つであるInsomniaアプリの使用方法を説明します。
Insomniaのインストール
https://insomnia.restからInsomniaを入手して下さい。Insomnia は、Mac、Linux、またはWindowsシステムにインストールすることができます。
認証
Insomnia は、BrightcoveのRESTfull APIへのリクエストに使用できます。ほとんどのAPIは認証にOAuth2を使用しており、このドキュメントの後半でInsomniaでそれを設定する方法を説明します。一方、適切なヘッダーを設定するだけで、OAuthを使用しないAPIにも使用できます。

Oauth2以外の認証方法を使用したリクエストのヘッダーは次のようになります。
- Playback API
-
BCOV-Policy: YOUR_POLICY_KEY
- ライブAPI
-
X-API-KEY: YOUR_API_KEY
- Zencoder API
-
Zencoder-Api-Key: YOUR_API_KEY
クライアント認証情報を取得する
大部分のBrightcove APIを使用するには、使用するアカウントとAPIのクライアント認証情報が必要です。 「API 認証資格情報の管理」の説明に従って、Studioでクライアント認証情報を取得します。以下の手順では、Insomniaを使用して CMS APIリクエストを作成するため、資格情報には少なくとも次の権限が必要です。
- Video:Read/Write
より広い範囲の API リクエストに使用できる認証情報を取得するために、好きなだけ追加のパーミッションを追加することができます。また、複数のアカウントで使用できる認証情報を取得することもできます。
Insomniaの使用
クライアントの認証情報を取得したら、Insomniaを使い始める準備ができています。CMS APIのOpenAPI仕様をインポートし、Insomnia で多くのセットアップ作業が行われます。以下の手順では、Insomniaを使っていくつかの CMS API リクエストを作成する手順を説明します。
CMS APIコレクションのInsomniaのセットアップ
CMS APIのOpenAPI仕様を取得します
- CMS APIリファレンスを開きます。
-
ダウンロードボタンをクリックして、
openapi.yaml
ファイルを再び見つけられる場所に保存して下さい:OpenAPI仕様をダウンロードする
OpenAPI仕様をInsomniaにインポートします
- Insomniaアプリを起動します。
- Insomniaの横にあるドロップダウンをクリックし、Import/Exportを選択します:
インポート・エクスポート -
開いたダイアログで、Import DataからFrom Fileをクリックします:
ファイルからデータをインポートする -
ダウンロードした
openapi.yaml
ファイルを選択し、現在のワークスペースにインポートするか、新しいワークスペースを作成するかを選択します。どちらでも機能しますが、各APIごとに新しいワークスペースを作成することをお勧めします。新しいワークスペースを作成する -
次に、データをリクエストコレクションとしてインポートするかデザインドキュメントとしてインポートするかを尋ねられます。Request Collectionを選択します:
リクエストコレクションとしてインポート - データがインポートされたことを確認するダイアログが表示されます。
-
左上にあるDashboardをクリックすると、ワークスペースが表示されます。新しいワークスペースを作成した場合は、適切な名前で表示されます。
CMS APIワークスペース - ワークスペースをクリックして開きます。
-
CMS APIに対するさまざまなリクエストのグループと、新しいOpenAPI環境を含むフォルダーのリストが表示されます。
CMS APIリクエストと環境
環境に変数を追加する
これはオプションの手順ですが、後でリクエストの認証設定を簡略化することができます。
-
OpenAPI envのドロップダウンメニューをクリックし、Manage Environmentsを選択します:
環境の管理 -
Insomnia がOpenAPIの仕様から作成した環境変数がJSON形式で表示されます:
環境変数 -
これらの追加変数をJSONに追加します (
client_id
とclient_secret
については、上記のクライアントの資格情報を取得するを参照して下さい):"account_id": " your_account_id「」
"client_id": " your_client_id「」
"client_secret": " your_client_secret「」
"access_token_url": "https://oauth.brightcove.com/v4/access_token"
-
終了すると、環境JSONは次のようになります。
追加された環境変数 - 右下のDoneをクリックしてダイアログを終了します。
認証を設定する
これで、APIリクエストの認証を設定する準備が整いました。
- Videoフォルダをクリックし、Get Videosを選択します:
新しいリクエスト -
リクエストのURLには既に2つの変数が含まれていることに注意してください。
base_url
はOpenAPI仕様からInsomniaが自動的に生成したものです。account_id
をクリックすると、前のセクションで環境変数として入力した値と一致することがわかります。 -
>AuthタブとAuthドロップダウンメニューをクリックし、 OAuth 2.0を選択します:
認証タイプを選択します -
Grant Typeドロップダウンをクリックし、Client Credentialsを選択します:
Grant Typeを選択 -
Access Token URLフィールドで、「access_token_url」と入力し始めます-オートコンプリートメニューが表示されますので、環境変数
access_token_url
を選択して下さい:変数のオートコンプリート -
前の手順を繰り返して、Client IDとClient Secretフィールドに
client_id
とclient_secret
変数を入力します:認証変数 -
下にスクロールして、Fetch Tokenボタンをクリックしてクリックします。[Access Token]フィールドにトークンが入力されていることを確認します。
アクセストークン - Fetch Tokenをクリックして、これが機能することを確認します。次のような応答が表示されます。
アクセストークン -
HeaderタブでAuthorizationヘッダーを削除して下さい(先程設定した認証でheadが処理され-これでheaderは壊れています):
承認ヘッダーを削除する
リクエストする
これでGet Videosのリクエストをする準備が整いました。
- これは
GET
リクエストなので、あとはSendをクリックするだけです。 -
レスポンスエリアにJSONレスポンスが表示されるのが確認できるはずです。
API レスポンス -
Queryパラメータを使用することで、異なる動画セットを取得できることに注意してください。リクエストのQueryタブをクリックすると、Insomniaが、OpenAPI仕様に基づいたパラメータを設定していることがわかります。使いたいパラメータにチェックを入れて、値を設定するだけです。
クエリパラメータ
POST
リクエストの送信
ここでは、いくつかのデータを含むPOST
リクエストを送信します。今回、CMS APIを使用して新しいビデオオブジェクトを作成します。VideoフォルダにあるCreate Videoリクエストを選択して開始します。
- 上記の認証を設定セクションの全ての手順を繰り返して、この新しいリクエストの認証を設定します。
-
このリクエストにはリクエスト本文が必要なので、[JSON]タブをクリックし、このJSONコードを入力して
null
を置き換えます:{ "name": "Insomnia Test" }
リクエスト本文 - 送信をクリックすると、新しいビデオオブジェクトがレスポンスで表示されます。
コードジェネレーターの使用
Insomniaのもう一つの素晴らしい特徴は、様々な言語でリクエストを行うためのコードを生成するということです。
-
リクエストのドロップダウンメニューにカーソルを合わせます。
ドロップダウンメニューのリクエスト -
メニューからGenerate Codeを選択します:
[コードの生成]を選択します -
Generate Client Codeダイアログが表示されたら、コードを作成する言語を選択します。
言語を選択してください -
多くの言語では、作成するアプリの種類に適した、選択可能なバリアントもあります。
コードバリアントを選択 -
コードをクリップボードにコピーするための便利なボタンもあります。
コードの表示とコピー
まとめ
Insomnia を使用してBrightcove APIにリクエストを行うための基本的な方法はご理解頂けたと思います。無料のInsomniaアカウントをチームアカウントにアップグレードすると、全てのリクエストと環境を同期して、他のチームメンバーと共有することもできますのでご注意ください。