このクイックスタート ガイドでは、YouTube Data API にリクエストを行う簡単な PHP コマンドライン アプリケーションを設定する方法について説明します。このクイックスタートでは、次の 2 つの API リクエストを行う方法について説明します。
- アプリケーションを識別する API キーを使用して、GoogleDevelopers YouTube チャンネルに関する情報を取得します。
- OAuth 2.0 クライアント ID を使用して、自分の YouTube チャンネルに関する情報を取得する承認済みリクエストを送信します。
前提条件
このクイックスタートを実行するには、次のものが必要です。
- コマンドライン インターフェース(CLI)と JSON 拡張機能がインストールされた PHP 5.4 以降。
- Composer 依存関係管理ツールがグローバルにインストールされていること
- PHP 用 Google API クライアント ライブラリ:
- クライアント ライブラリをまだインストールしていない場合:
composer require google/apiclient:^2.0
- クライアント ライブラリを以前にインストールした場合は、テストするライブラリの最新のクラスが確実に使用されるように、ライブラリを更新することをおすすめします。
composer update google/apiclient --with-dependencies
- クライアント ライブラリをまだインストールしていない場合:
ステップ 1: プロジェクトと認証情報を設定する
Cloud コンソールでプロジェクトを作成または選択します。プロジェクトの Cloud コンソールで次のタスクを行います。
ライブラリ パネルで、 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 の左側には、次のものが表示されます。
[リクエスト パラメータ] ヘッダーの下に、メソッドがサポートするパラメータのリストがあります。
partパラメータ値とidパラメータ値を設定する必要があります。idパラメータの値UC_x5XG1OV2P6uZZ5FSM9Ttwは、GoogleDevelopers YouTube チャンネルの ID です。パラメータの下に、[認証情報] というセクションがあります。このセクションのプルダウン メニューには、値 [API キー] が表示されます。API Explorer では、デフォルトでデモ認証情報を使用して、簡単に開始できるようにしています。ただし、サンプルをローカルで実行するには、独自の API キーを使用します。
![全画面表示の API Explorer の [認証情報] と、[API キー] オプションが選択されたプルダウン メニューの画像。](https://developers.google.com/static/youtube/data/quickstart/images/apis_explorer_credentials.png?hl=ja)
全画面表示の API Explorer の右側には、さまざまな言語のコードサンプルを含むタブが表示されます。[PHP] タブを選択します。
コードサンプルをコピーして、
example.phpという名前のファイルに保存します。ダウンロードしたサンプルで、
YOUR_API_KEY文字列を見つけて、このクイックスタートのステップ 1 で作成した API キーに置き換えます。コマンドラインからサンプルを実行します。作業ディレクトリで、次のコマンドを実行します。
php example.phpサンプルはリクエストを実行し、レスポンスを
STDOUTに出力します。
ステップ 3: 承認済みリクエストを実行する
このステップでは、GoogleDevelopers YouTube チャンネルに関する情報を取得する代わりに、自分の YouTube チャンネルに関する情報を取得するようにコードサンプルを変更します。 このリクエストにはユーザー認証が必要です。
API の channels.list メソッドのドキュメントに戻ります。
[一般的なユースケース] セクションで、表の 3 番目のリストのコード記号をクリックします。このユースケースでは、「マイチャンネル」の
listメソッドを呼び出します。全画面表示の API Explorer の左側に、パラメータのリストと [認証情報] セクションが表示されます。ただし、GoogleDevelopers チャンネルに関する情報を取得した例とは 2 つの違いがあります。
パラメータ セクションで、
idパラメータ値が設定される代わりに、mineパラメータ値がtrueに設定されます。これにより、API サーバーは現在認証されているユーザーのチャンネルに関する情報を取得します。[認証情報] セクションのプルダウン メニューで、[Google OAuth 2.0] オプションを選択します。
また、[スコープを表示] リンクをクリックすると、https://www.googleapis.com/auth/youtube.readonly スコープがオンになります。
![全画面表示の APIs Explorer でスコープが表示され、[Google OAuth 2.0] 認証情報を使用するオプションが選択されている画像。](https://developers.google.com/static/youtube/data/quickstart/images/apis_explorer_scopes.png?hl=ja)
前の例と同様に、[PHP] タブを選択し、コードサンプルをコピーして
example.phpに保存します。コードで
YOUR_CLIENT_SECRET_FILE.json文字列を見つけて、このクイックスタートのステップ 1 でダウンロードしたクライアント シークレット ファイルの場所に置き換えます。コマンドラインからサンプルを実行します。作業ディレクトリで、次のコマンドを実行します。
php example.php-
コンソールから URL をコピーして、ブラウザで開きます。
Google アカウントにまだログインしていない場合は、ログインを求められます。複数の Google アカウントにログインしている場合は、認証に使用するアカウントを選択するよう求められます。
ボタンをクリックして、コードサンプルで指定したスコープへのアクセス権をアプリケーションに付与します。
-
ブラウザから認証コードをコピーして、ターミナルに貼り付けます。認証フローに使用したブラウザタブを閉じます。
API レスポンスが
STDOUTに出力されます。
関連情報
- Google Developers Console のヘルプ ドキュメント
- PHP 用 Google API クライアント ライブラリのドキュメント
- GitHub の PHP 用 Google API クライアント ライブラリと YouTube API の自動生成クラス(ページで、
YouTubeフォルダとYouTube.phpファイルを見つけます)。 - YouTube Data API リファレンス ドキュメント