YouTube Data API v3を利用する(PHP コード サンプルを見てみる:チャンネル登録の追加)

CGI'sトップページ > Youtube API メモ > YouTube Data API v3を利用する(PHP コード サンプルを見てみる:チャンネル登録の追加)

YouTube Data API: PHP コード サンプルを見てみる

YouTube Data API: PHP コード サンプルのページで 以下の7つが紹介されています。

  • 動画用カスタム サムネイルのアップロード(thumbnails.set)
  • 新しいタグを追加して動画を更新(videos.list と videos.update)
  • マイ アップロード動画の取得(playlistItems.list)
  • 再生リストの作成(playlists.insert)
  • キーワードで検索(search.list)
  • チャンネル登録の追加(subscriptions.insert)
  • レジューム可能なアップロード(videos.insert)

再生リストの作成 を試してみる

PHP用のGoogle APIのクライアントライブラリ を使用した次のコード サンプルは YouTube Data API で利用可能です。これらのコードサンプルは GithubのYouTube APIコードサンプルレポジトリ 内にあるphpのフォルダからダウンロードできます。

ということで、GithubのYouTube APIコードサンプルレポジトリからのダウンロードはJavascriptサンプルの時に済んでいるので、 phpフォルダを適当な場所へ設置。

さらに、PHP用のGoogle APIのクライアントライブラリをダウンロードし、展開後 srcフォルダ と autoload.php を 前段のphpフォルダへ設置。

クライアントライブラリ

設置後のphpフォルダ内は以下のような感じです。

ファイル構成

add_subscription.php を編集する。

最初に add_subscription.php 内のいくつか設定等を行います。

add_subscription.php


(1)を以下のように変更。
require_once 'src/Google/Client.php';
require_once 'src/Google/Service/YouTube.php';


(2)の REPLACE_ME を 事前の準備で行ったアプリケーション登録時に得られる クライアント ID と クライアント シークレット に書き換える。


(3) 状況によって Location の後のコードが実行されてしまうことがあるので直後に以下を追記。
die;


(4) の部分は、追加するチャンネルのチャンネルIDを設定しています。


リダイレクトURIを追加する。

前段の22-23行目でリダイレクトURIが設定されている。'http://' . '$_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] なので、設置した add_subscription.php のURIということになる。

で、これが 事前の準備で行ったアプリケーション登録時に表示された 承認済みのリダイレクト URI と合致しないとエラーになるので Google Developers Console で以下のように設定する。

Google Developers Console

add_subscription.php にアクセスしてみる。

add_subscription.php はOAuth 2.0で承認してから承認済みユーザーの再生リストを追加するといった流れ。

以下はアクセスしてみた際のスクリーンショットです。

※Googleアカウント未ログイン状態からの承認の流れを見たかったので、事前にログアウトしておきました。


最初は承認を求めるメッセージとリンクが表示されます。

承認を求めるメッセージとリンク

リンクをクリックするとGoogleアカウントのログイン画面が表示されます。

ログイン画面

ログインすると許可のリクエスト画面が表示されます(未許可の場合)。

許可のリクエスト画面

承認するとチャンネルの追加が実行され、返り値でもって追加後のチャンネルのタイトルやIDが表示されます。

ちなみに2回目以降アクセスすると、Bad Requestと表示されてエラーとなります。表示されませんが理由は、重複登録(subscriptionDuplicate)です。

追加完了


以下のリンクより設置したサンプルへアクセス可能です。

※ご利用アカウントにチャンネルが追加されますのでご注意ください。



Youtube API メモ Indexへ戻る