サポート サポートへのお問い合わせ | システムステータス システムステータス
ページコンテンツ

    アクセストークンの取得

    このサンプルは、ウェブアプリケーションから Brightcove OAuth API からアクセストークンを取得し、プロキシ経由でリクエストを送信します。

    はじめに

    アクセストークンの取得は、Brightcove APIを使用するほとんどの作業にとって重要な操作です。これは、APIの大部分がアクセストークンを使用してリクエストを認証するためです。

    アクセストークンの詳細については、を参照してください。 BrightcoveOAuthサービスの仕組みそしてアクセストークンの取得

    このサンプルは、Webアプリからアクセストークンを取得する方法を示しています。OAuth APIはCORSに対応しておらず、サーバー側からリクエストを行う必要があるため、アプリはプロキシに情報を送信します。プロキシはAPIリクエストを作成し、応答をクライアントに送り返します。ここでのプロキシはPHPで記述されていますが、サーバー側のどの言語でもかまいません。インターネット経由でアプリにPOSTリクエストを送信できる必要があります。

    認証情報の取得

    client_idとを取得するにはclient_secret、OAuth UI に移動してこのアプリを登録する必要があります。

    これらは、使用するAPIに必要な権限を選択します。

    API のアクセス許可
    API のアクセス許可

    また、CURL または Postman 経由で資格を取得することもできます。以下を参照してください。

    OAuth APIから直接認証情報を取得している場合は、を参照してください。クライアント資格情報要求のAPI操作さまざまなAPI操作に必要な権限。

    アクセストークンアプリを取得する

    ソースコード

    このサンプルに関連付けられているすべてのコードを、この GitHub リポジトリで検索します

    サンプルアプリ

    ペンを見るOAuth APIサンプル:アクセストークンを取得する Brightcove Learning Services( @ rcrooks1969) オンCodePen

    CodePen を使用する

    上記のCodePenを効果的に使用するためのヒントは次のとおりです。

    • [ 結果 ] ボタンをクリックして、プレーヤーの実際の表示を切り替えます。
    • HTML/CSS/JS ボタンをクリックして、コードタイプの 1 つを表示します。
    • 右上隅にある CodePen の編集をクリックして、この CodePen を自分のアカウントにフォークします。
    • このサンプルに関連付けられているすべてのコードを、この GitHub リポジトリで検索します

    プロキシコード

    このページのサンプルアプリを独自のバージョンで作成するには、独自のプロキシを作成してホストする必要があります。(Brightcove ラーニングサービスで使用されるプロキシは、Brightcove のドメインからのリクエストのみを受け付けます)。オリジン制限のないプロキシコードのバージョンを以下に示します。

         <?php
        /**
         * access-token-proxy.php-Brightcove RESTfulAPIのプロキシ
         *アクセストークンを取得して返します
         * アクセス:
         *(HTTPS経由でプロキシにアクセスする必要があることに注意してください)
         * 方法:役職
         *
         * @post {string} client_id-リクエストに十分な権限を持つOAuth2クライアントID
         * @post {string} client_secret-リクエストに十分な権限を持つOAuth2クライアントシークレット
         *
         * @returns {文字列} $response-OAuth APIから受け取ったJSONレスポンス
         */
        
        
        //CORS イネーブルメントとその他のヘッダー
        ヘッダー (「アクセス制御許可オリジン:*」);
        ヘッダー (「コンテンツタイプ:アプリケーション/JSON」);
        ヘッダー (「X-コンテンツタイプオプション:nosniff」);
        ヘッダー(「X-XSS-保護」);
        
        //このプロキシを単一の資格情報に使用している場合は注意してください
        //クライアントIDとシークレットを渡す代わりに、以下にハードコードすることができます
        
        $ client_id = $ _POST ["client_id"];
        $ client_secret = $ _POST ["client_secret"];
        $auth_string   = "{$client_id}:{$client_secret}";
        $request       = "https://oauth.brightcove.com/v4/access_token?grant_type=client_credentials";
        $ch            = curl_init($request);
        curl_setopt_array ($ch, 配列 (
                CURLOPT_POST = > 真、
                CURLOPT_RETURNTRANSFER = > 真、
                CURLOPT_SSL_VERIFYPEER = > 偽、
                CURLOPT_USERPWD = > $auth_string、
                CURLOPT_HTTPHEADER = > 配列 (
                    'コンテンツタイプ:アプリケーション/X-www-form-urlencoded',
                )
            )));
        $response = curl_exec($ch);
        curl_close ($ch);
        
        //エラーをチェックする
        ($応答=== 偽) {
            死ぬ (curl_error ($ch));
            echo 'エラーが発生しました';
        } else {
          エコー$レスポンス;
        }
        
        ?>