このクイックスタート ガイドでは、YouTube Data API にリクエストを送信する簡単な PHP コマンドライン アプリケーションを設定する方法について説明します。このクイックスタートでは、次の 2 つの API リクエストを行います。
- API キーを使用してアプリケーションを識別し、GoogleDevelopers の YouTube チャンネルに関する情報を取得します。
- OAuth 2.0 クライアント ID を使用して、独自の YouTube チャンネルに関する情報を取得する承認済みリクエストを送信します。
Prerequisites
このクイックスタートを実行するには、以下が必要です。
- PHP 5.4 以降(コマンドライン インターフェース(CLI)と JSON 拡張機能がインストールされていること)
- グローバルにインストールされる Composer 依存関係管理ツール {: target="_blank"}
- PHP の Google API クライアント ライブラリ:
- クライアント ライブラリをまだインストールしていない場合:
composer require google/apiclient:^2.0
- 以前にクライアント ライブラリをインストールしたことがある場合は、テストしているライブラリの最新のクラスが含まれるように、ライブラリを更新することをおすすめします。
composer update google/apiclient --with-dependencies
- クライアント ライブラリをまだインストールしていない場合:
ステップ 1: プロジェクトと認証情報を設定する
API Console でプロジェクトを作成または選択します。API Console で次の作業を行います。
ライブラリ パネルで、YouTube Data API v3 を検索します。該当する API のリスティングをクリックし、プロジェクトで API が有効になっていることを確認します。
[認証情報] パネルで、次の 2 つの認証情報を作成します。
API キーを作成する API キーを使用して、ユーザー承認を必要としない API リクエストを作成します。たとえば、公開の YouTube チャンネルに関する情報を取得するためにユーザーの承認は必要ありません。
OAuth 2.0 クライアント ID を作成する アプリケーション タイプを [その他] に設定します。ユーザー認証が必要なリクエストには OAuth 2.0 認証情報を使用する必要があります。たとえば、現在認証されているユーザーの YouTube チャンネルに関する情報を取得するには、ユーザー承認が必要です。
OAuth 2.0 認証情報を含む JSON ファイルをダウンロードします。このファイルの名前は
client_secret_CLIENTID.json
です。CLIENTID
は、プロジェクトのクライアント ID です。
ステップ 2: サンプルを設定して実行する
サイドパネルの API Explorer ウィジェットを使用して、GoogleDevelopers の YouTube チャンネルに関する情報を取得するサンプルコードを入手します。このリクエストでは、API キーを使用してアプリケーションを識別します。ユーザー認証や、サンプルを実行しているユーザーの特別な権限は必要ありません。
- API の channels.list メソッドのドキュメントを開きます。
そのページの「一般的なユースケース」セクションには、メソッドの一般的ないくつかの使用方法が説明されている表があります。表の最初のリストは、チャネル ID による結果のリスティングです。
最初のリスティングのコード記号をクリックして、API Explorer を全画面表示し、データを入力します。
全画面表示の API Explorer の左側には、次の内容が表示されます。
Request パラメータ ヘッダーの下に、メソッドがサポートするパラメータのリストがあります。
part
とid
のパラメータ値を設定する必要があります。id
パラメータ値UC_x5XG1OV2P6uZZ5FSM9Ttw
は、GoogleDevelopers YouTube チャンネルの ID です。パラメータの下に Credentials セクションがあります。このセクションのプルダウン メニューに「API キー」という値が表示されます。API Explorer はデフォルトでデモ認証情報を使用しているため、簡単に開始できます。ただし、独自の API キーを使用してサンプルをローカルで実行することになります。
全画面表示の API Explorer の右側には、さまざまな言語のコードサンプルを含むタブが表示されています。[PHP] タブを選択します。
コードサンプルをコピーして、
example.php
というファイルに保存します。ダウンロードしたサンプルで、
YOUR_API_KEY
文字列を探し、このクイックスタートのステップ 1 で作成した API キーに置き換えます。コマンドラインからサンプルを実行します。作業ディレクトリで次のコマンドを実行します。
php example.php
サンプルはリクエストを実行し、
STDOUT
へのレスポンスを出力します。
ステップ 3: 承認済みリクエストを実行する
このステップでは、GoogleDevelopers の YouTube チャンネルに関する情報を取得するのではなく、ご自身の YouTube チャンネルに関する情報を取得するように、コードサンプルを変更します。このリクエストにはユーザーの承認が必要です。
API の channels.list メソッドのドキュメントに戻ります。
[一般的なユースケース] セクションで、テーブルの 3 番目のリストでコード記号をクリックします。このユースケースでは、「my channel」の
list
メソッドを呼び出します。再度、全画面表示の API Explorer の左側に、パラメータのリストと [認証情報] セクションが表示されます。ただし、GoogleDevelopers チャンネルに関する情報を取得する例から 2 つの変更点があります。
パラメータ セクションには、
id
パラメータ値を設定するのではなく、mine
パラメータ値をtrue
に設定する必要があります。これにより、現在認証されているユーザーのチャンネルに関する情報を取得するように API サーバーに指示します。[認証情報] セクションのプルダウン メニューで [Google OAuth 2.0] を選択します。
さらに、[スコープを表示] リンクをクリックすると、https://www.googleapis.com/auth/youtube.readonly のスコープがオンになります。
前の例と同様に、[PHP] タブを選択し、コードサンプルをコピーして
example.php
に保存します。コードの中から
YOUR_CLIENT_SECRET_FILE.json
文字列を見つけ、このクイックスタートのステップ 1 でダウンロードしたクライアント シークレットのファイルの場所に置き換えます。コマンドラインからサンプルを実行します。作業ディレクトリで次のコマンドを実行します。
php example.php
-
コンソールから URL をコピーして、ブラウザで開きます。
まだ Google アカウントにログインしていない場合は、ログインするように求められます。複数の Google アカウントにログインしている場合は、承認に使用するアカウントを 1 つ選択するよう求められます。
ボタンをクリックして、コードサンプルで指定されたスコープへのアクセス権をアプリケーションに付与します。
-
ブラウザから認証コードをコピーしてターミナルに貼り付けます。その後、認証フローに使用されるブラウザタブを閉じることができます。
API レスポンスは、もう一度
STDOUT
に出力されます。
参考資料
- Google Developers Console のヘルプ ドキュメント
- PHP 用 Google API クライアント ライブラリのドキュメント
- GitHub の PHP 用 Google API クライアント ライブラリと YouTube API の自動生成クラス。(ページで
YouTube
フォルダとYouTube.php
ファイルを見つけます。 - YouTube Data API のリファレンス ドキュメント