サポート サポート問い合わせ先 | システムステータス システムステータス
ページ内容

    APIリクエストの認証

    このトピックでは、Brightcove REST APIへのリクエストの認証について説明します。

    賃貸システムの概要

    Brightcove REST APIのほとんどは、認証の基礎としてOAuth2を使用します。OAuth実装については、以下のセクションで詳しく説明します。

    ただし、最初に、XNUMXつのAPIが異なる認証方法を使用していることに注意してください。

    ポリシーキー認証: Playback API

    Playback API 主にビデオとプレイリストのデータを取得するために使用されます playersまたはWebポータル、 policy_key、認証の場合、通常は引数として渡されます Accept ヘッダ:

            Accept: application/json;pk={policy_key}

    Brightcoveのポリシーキーは自動的に生成されます players、および player の監視、または Policy API

    APIキー認証: Live API

    Live API アカウントを設定してリクエストを認証するときに提供されるAPIキーを使用します。 APIキーは X-API-KEY ヘッダ:

            X-API-KEY : {YOUR_APIKey}

    OAuth2認証

    その他のREST API Video Cloud 認証にOAuth2を使用します。OAuth2に精通している人のために、クライアント資格情報フローを使用します。 関係する2つの操作があります。

    1. クライアント資格情報を取得します。 これは1回限りの操作で、最も簡単に実行できます。 API認証 Studioの管理ツールのページ。 見る API認証資格情報の管理 詳細およびステップバイステップの手順については。
    2. アクセストークンを取得します。 各APIリクエストには、 Authorization ヘッダ:
              Authorization: Bearer {access_token}

      アクセストークンは5分間有効であるため、繰り返しAPIリクエストを生成するプロセスを実行しない限り、リクエストごとに新しいものを取得することになるでしょう。

      アクセストークンは、ブライトコーブへのリクエストでクライアント認証情報を送信することによって取得されます。 OAuth API。 見る アクセストークンの取得 詳細については。 もあります サンプルアプリケーション API呼び出しをテストするための一時トークンを取得するために使用できます。 人気のあるRESTクライアントを構成する手順もあります PostmanInsomnia.

    経由のクライアント資格情報 OAuth API

    を使用してクライアント資格情報を作成する必要がある場合、または作成する必要がある場合 OAuth API、クライアントの資格情報を取得する手順を以下に示します。 最初にBC_TOKENを取得する必要があります。これは、クライアント資格情報要求の認証に使用されます。

    あなたを取得 BC_TOKEN と口座番号

    取得するにはスタジオにログインする必要があります BC_TOKEN.

    1. 通常通りStudioにログインします。
    2. アカウント番号が必要です(スタジオではパブリッシャーIDと呼ばれます)。スタジオのアカウント情報に移動すると取得できます。
      アカウントID
      アカウントID
    3. Studioの任意のページを開いた状態で、ブラウザーの開発者ツールを開き、コンソールに移動して、次のコードを貼り付けます。
            var cookiesArray = document.cookie.split(";"), cookiesObj = {}, i, tmpArray = [];
            for (i = 0; i < cookiesArray.length; i++) {
                tmpArray = cookiesArray[i].split("=");
                if (tmpArray[0].indexOf('BC_TOKEN') > -1) {
                    cookiesObj.BC_TOKEN = tmpArray[1];
                }
            }
            window.prompt("BC_TOKEN:", cookiesObj.BC_TOKEN);

      ...そしてReturnキーを押します。

    4. あなたを含むプロンプトが表示されるはずです BC_TOKEN:
      BC_TOKEN
      BC_TOKEN
    5. BC_TOKENをお持ちの場合は、 クライアントの資格情報を取得する セクション; 何らかの理由で前の手順でBC_TOKENを取得できなかった場合は、コンソールに移動して、次のように入力します。 document.cookies、リターンキーを押します。
    6. ページのすべてのクッキーは、セミコロンで区切られたリストで返されます。 リスト内のBC_TOKENクッキーを見つけて、値をコピーします。
      コンソールからBC_TOKENを取得する
      コンソールからBC_TOKENを取得する

    取得する client_credentials

    これで、OAuthサービスを呼び出してクライアント資格情報を取得する準備ができました。 資格情報を要求するクライアントアプリケーション名を指定する必要があります。名前は任意であり、資格情報の目的を追跡するのに役立ちます。ここでは、「ingest-profiles-api-client」を使用します。 また、アクセスする操作のスコープを配列で指定する必要があります。ここでは使用します。 使用可能な操作は次のとおりです。 クライアント資格情報要求のAPI操作。 以下の手順では、作業に必要な作業を指定します。 Ingest Profiles API.

    1. 次のcurlコマンドを編集してコマンドラインに貼り付け、 戻る。 次のXNUMXつの値に固有の値を指定する必要があります。
      • あなたのBC_TOKEN
      • あなたの資格情報名
      • あなたのアカウントID
            curl \
              --include \
              --header "Authorization: BC_TOKEN your_BC_TOKEN" \
              --data 'name=ingest-profiles-api-client&maximum_scope=[{
                  "identity": {
                    "type": "video-cloud-account",
                    "account-id": your_account_id
                  },
                  "operations": [
                        "video-cloud/ingest-profiles/profile/read",
                        "video-cloud/ingest-profiles/profile/write",
                        "video-cloud/ingest-profiles/account/read",
                        "video-cloud/ingest-profiles/account/write"
                    ]
                }]' \
            https://oauth.brightcove.com/v4/client_credentials
    2. 応答は次のようになります(フォーマットが追加されました)。
            {
              "redirect_url": null,
              "maximum_scope": [
                {
                  "identity": {
                    "type": "video-cloud-account",
                    "account-id": your_video_cloud_account_id
                  },
                  "operations": [
                    "video-cloud/ingest-profiles/profile/write",
                    "video-cloud/ingest-profiles/account/write",
                    "video-cloud/ingest-profiles/profile/read",
                    "video-cloud/ingest-profiles/account/read"
                  ]
                }
              ],
              "name_html": "ingest-profiles-api-client",
              "issued_to": "your_email@host.com",
              "trusted": null,
              "expires_at": null,
              "issued_at": "2015-06-01T15:09:00Z",
              "name": "ingest-profiles-api-client",
              "description_html": null,
              "revoked": null,
              "type": "credential",
              "client_secret": "Ifckr6cWtxOh_NZnEVhKCgcqZaqoMcPuoJ-VGuivIE_psPoPUt2hGqUK15uPON3x3m748ElazZoOKPxbI3-4nQ",
              "description": null,
              "client_id": "da270d86-f3cd-4ee6-85b0-047df97a0db2",
              "issued_user": your_video_cloud_account_id
            }
    3. コピーして保存 client_idclient_secret、取得する必要があるときはいつでもこれらが必要になるので access_token.

    経由でトークンにアクセスする OAuth API

    クライアントの資格情報とは異なり、アクセストークンは短命です - 現在、それらは5分で期限切れになります。 APIリクエストごとに新しいものを入手する必要があります。 もちろん、最新のアクセストークンをチェックしてタイムアウトしたかどうかを確認するためのロジックをアプリに組み込むこともできますが、 Ingest Profiles API ほとんどないと思われますので、それをするのに十分な理由はありません。

    実際、APIは使用頻度が低いため、その周りにアプリを構築する価値はまったくないかもしれません。 代替は使用することです このシェルスクリプト Brightcove Learning Servicesが構築したものです。 クライアントIDとシークレット、APIリクエストとメソッド、リクエストデータを入力できます。 その後、 access_token、API要求を行い、応答を出力する。 (シェルスクリプトは、Mac MacOSや他のUnix / LinuxシステムにネイティブにインストールされているcURLを使用していることに注意してください。 Windowsにインストールすることができます.

    アクセストークンを取得するには、次のようなPOSTリクエストを行います。

          https://oauth.brightcove.com/v4/access_token

    このコールでは、次のヘッダーを渡す必要があります:

    • Content-Type: application/x-www-form-urlencoded
    • Authorization: Basic {client_id}:{client_secret}

    {client_id}:{client_secret} の文字列全体は Base64 でエンコードされている必要があります(curl により自動的に Base64 でエンコードされます、もし次の形式で渡すならば --user クレデンシャル; 他の言語ではあなた自身が Base64 エンコーディング処理をする必要があります)。

    また、次のキーと値のペアをリクエスト本文または URL パラメータとして送信する必要があります。

          grant_type=client_credentials

    レスポンスは次のようになります(読みやすいように以下に記載します):

          {
              "access_token": "ANB7xKhiUZmwltVd3f1odcHHM9VAwg02kwmLwtZwHv3SxGCOWLUf5W4G7X22PRjmR9StvFUqzpVZ1suOfyfOigdi-rnohxyEaSSuZceeLw_9OBW7fXldOG05HEgkeK3N-DBZZZyilodmjA1JWZHbgI3IU7Rmz5IPGyi-sDxHN3KlOr1BDZlLZpXPdFPwEyb6idq-z8AL-blKTSMtNI3_fz3oNBisfrHGUv5tXHoQT4B7FYcvdrap16gTOO7_wNt1zmgLJiUHvyxZgsgBchm_AhohVL-AYgcfCbCR0v7d2hgI4ag35pnZNeujDiBLfnCFcVMlqQGq8UEVZrmU9a8y4pVAGih_EImmghqmSrkxLPYZ800-vIWX-lw",
              "token_type": "Bearer",
              "expires_in": 300
          }

    access_token の値は、以下の形式のように API 呼び出しと一緒に Authorization ヘッダーで渡す必要があります。

          Authorization: Bearer {access_token}

    expired_in の値は、アクセストークンが有効な秒数です。

    詳細とサンプルコードについては、次を参照してください。 アクセストークンの取得


    ページの最終更新日:04年2020月XNUMX日