このクイックスタート ガイドでは、YouTube Data API にリクエストを送信するシンプルな PHP コマンドライン アプリケーションを設定する方法について説明します。このクイックスタートでは、実際には 2 つの API リクエストを行う方法について説明します。
- アプリケーションを識別する API キーを使用して、GoogleDevelopers YouTube チャンネルに関する情報を取得します。
- OAuth 2.0 クライアント ID を使用して、自分の YouTube チャンネルに関する情報を取得する承認済みリクエストを送信します。
前提条件
このクイックスタートを実行するには、次のものが必要です。
- コマンドライン インターフェース(CLI)と JSON 拡張機能がインストールされた PHP 5.4 以降。
- 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 の左側には、次のものが表示されます。
[リクエスト パラメータ] ヘッダーの下に、メソッドがサポートするパラメータのリストが表示されます。
part
パラメータとid
パラメータの値を設定する必要があります。id
パラメータ値UC_x5XG1OV2P6uZZ5FSM9Ttw
は、GoogleDevelopers YouTube チャンネルの ID です。パラメータの下に、[認証情報] というセクションがあります。このセクションのプルダウン メニューには、[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 番目のリストのコード記号をクリックします。このユースケースでは、「マイチャンネル」の
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 リファレンス ドキュメント