API リクエストに Postman を使用する

このトピックでは、Brightcove RESTful API にリクエストを行うための一般的な Postman HTTP クライアントをセットアップする方法について学習します。コマンドラインでcurlステートメントを使用してリクエストを行うこともできますが、これを簡単にするためのUIと機能を提供するアプリがいくつかあります。このドキュメントでは、そのようなツールの 1 つである Postman アプリの使用方法について説明します。

Postman のインストール

postman.com から Postman を入手します。使用できるオンライン バージョンもありますが、デスクトップ アプリをインストールすることをお勧めします。

クライアント認証情報の取得

Brightcove API を使用するには、使用するアカウントと API のクライアント認証情報が必要です。API 認証資格情報の管理 の手順に従って、Studio でクライアント資格情報を取得します。以下の手順では Postman を使用して CMS API リクエストを作成するため、認証情報には少なくとも次の権限が必要です。

  • Video: Read/Write

必要なだけ権限を追加して、より広範囲の API リクエストに使用できる認証情報を取得することができます。また、必要に応じて、複数のアカウントで機能する認証情報を取得できることにも注意してください。

必要に応じて、このオンライン アプリ を使用できます。その場合は、少なくとも video-cloud/video/all 権限を指定する必要があります。

OpenAPI 仕様の取得

必須ではありませんが、使用する API の OpenAPI 仕様をインポートすると、Postman のセットアップを大幅に簡素化できます。これはどの Brightcove プラットフォーム API でも実行できますが、このチュートリアルでは CMS API を使用します。

OpenAPI 仕様を入手するには、CMS API Reference に移動し、Download ボタンをクリックします。

Download OpenAPI Spec
Download OpenAPI Spec

ダウンロードされたファイルは openapi.yaml という名前になります。

OpenAPI 仕様のインポート

次のステップでは、Postman アプリを起動し、ダウンロードした OpenAPI 仕様をデフォルト設定でインポートします。

import OpenAPI Spec
Import OpenAPI Spec

コレクションを開く

API がインポートされると、Postman はリクエストのコレクションを生成します。

  1. Collections をクリックします。
  2. 新しい Brightcove CMS API Reference コレクションを選択します。
  3. コレクションを展開し videos フォルダーをクリックして、Get Videos リクエストを選択します。
    CMS API Collection
    CMS API Collection
    Request Details
    Request Details

Postman は、リクエスト自体やリクエストに追加できるパラメータなど、ほとんどの詳細を API リファレンスから設定していることに注意してください。また、パラメータのドキュメントも提供されており、値を編集したり、リクエストで送信したくないパラメータのチェックを外したりすることもできます。

Edit Request
Edit Request

ただし、アカウント ID や認証情報など、独自の情報をいくつか指定する必要があります。この場合は、:account_id のようなコロンで識別される URL 変数を変更します。

Identify a URL variable
Identify a URL variable
replace a URL variable
Replace a URL variable

ただし、より良い方法は、よく使用される情報を変数として保存できるリクエスト用の 環境 を作成することです。それについては次のセクションで説明します。

環境の作成

以下の手順では、CMS API リクエストの環境をセットアップする手順について説明します。

  1. Environments アイコンをクリックして、次に をクリックします。
    Create Environment
    Create Environment
  2. 環境名を編集して、Brightcove APIs に変更します (必要に応じて新しい変数を追加すると、この環境を他の Brightcove API にも使用できます)。
    Edit Enviroment Name
    Edit Enviroment Name
  3. "Add a new variable" というテキストをクリックし、account_id を入力してから、INITIAL VALUE フィールドをクリックして、Video Cloud アカウント ID を入力します (CUURENT VALUE にも同じことを行います)。
    Enter Variable
    Enter Variable
  4. 前の手順を繰り返して変数を追加します。
    Environment Variables
    変数 初期値
    client_id (クライアント ID - 上記の クライアント認証情報の取得 を参照)
    client_secret (クライアント シークレット - 上記の クライアント認証情報の取得 を参照)
    access_token_url https://oauth.brightcove.com/v4/access_token
  5. Save をクリックして環境を保存します。:
    Save Environment
    Save Environment
  6. Brightcove CMS API コレクションに戻り、Environment セレクターから作成した環境を選択します。
    Environment Selector
    Environment Selector

環境変数は、二重中括弧で囲むことで参照できます (例: {{account_id}}。

リクエストの有効化

環境がセットアップされたので、変数を使用してリクエストをテストすることができます。まず、Get Videos リクエストを見てみましょう。

  1. まだ行っていない場合は、account_idPath Variable の値として {{account_id}} を入力します。
    Reference Environment variable
    Reference Environment variable
  2. リクエストの Authorization タブをクリックします。
    Auth Tab
    Auth Tab
  3. Configuration OptionsGrant TypeClient-Credentials に変更します。
    Auth Grant Type
    Auth Grant Type
  4. 環境の次の変数を適切なフィールドに入力します。
    • Access Token URL: {{access_token_url}}
    • Client ID: {{client_id}}
    • Client Secret: {{client_secret}}
  5. Get New Access Token をクリックします。
    Authorization Setup
    Authorization Setup
  6. 認証が完了したら Proceed をクリックするか、トークンが表示されるまで待ちます。次に、Use Token をクリックします。
    Manage Access Tokens
    Manage Access Tokens

Brightcove アクセス トークンは 5 分後に期限切れになることに注意してください。実行内容とその速さによっては、同じアクセス トークンを複数回使用できる場合があります。有効期限が切れると、CMS API は未承認エラーを返します。

[
	{
			"error_code": "UNAUTHORIZED",
			"message": "Permission denied."
	}
]

(メッセージの正確な形式は他の API では異なる場合がありますが、似たようなものになるでしょう。)

この問題が発生した場合は、Authorization タブに戻って新しいトークンをリクエストしてください。また、期限切れのトークンにはそれ以上の価値がないため、混乱を避けるために削除する必要があります。

Delete Expired Tokens
Delete Expired Tokens

リクエストする

これで Get Videos リクエストを行う準備ができました。

  1. Params タブに戻り、すべての Query Params のチェックを外します (もちろん、それらを使用したり、値を変更したりすることもできますが、この最初のテストではデフォルト値のみを使用します)。
  2. Send をクリックします。
  3. 以下のレスポンス領域に JSON コードが表示されるはずです (ビデオ メタデータ オブジェクトの配列)。
    Response Data
    Response Data
  4. 次に、書き込みリクエスト (Create Video) を試してみましょう。コレクション内の Create Video リクエストを選択します。
    Create Video Request
    Create Video Request
  5. Account ID Path Variable{{account_id}} を再度入力する必要があります。 Postman はこれらの設定をコレクション内の他のリクエストに転送するため、承認を設定するために前のセクションの手順を繰り返す必要はありません。 ただし、新しいアクセス トークンを生成する必要があります
  6. 次に、Body タブに移動すると、API リファレンスからのサンプルのリクエスト本文が表示されます。
    Sample Request Body
    Sample Request Body
  7. この JSON は編集可能です。Create Video リクエストに必要なフィールドは name のみであるため、その値を「Test Video」に変更し、JSON の残りの部分を削除して、リクエスト本文が次のようになります。
    {
    	"name": "Test video"
    }
  8. ここで Send をクリックします。(必要に応じて新しいアクセス トークンを取得します)。レスポンス領域に新しいビデオのメタデータ オブジェクトが表示されるはずです。