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フォルダ内は以下のような感じです。

resumable_upload.php を編集する。
最初に resumable_upload.php 内のいくつか設定等を行います。

(1)を以下のように変更。
require_once 'src/Google/Client.php';
require_once 'src/Google/Service/YouTube.php';
(2)の REPLACE_ME を 事前の準備で行ったアプリケーション登録時に得られる クライアント ID と クライアント シークレット に書き換える。
(3) 状況によって Location の後のコードが実行されてしまうことがあるので直後に以下を追記。
die;
(4)の /path/to/file.mp4 を アップロードする動画ファイルのパスに変更する。
(5) の部分は、アップロードする動画ファイルのパスやタイトル等を設定しています。
リダイレクトURIを追加する。
前段の22-23行目でリダイレクトURIが設定されている。'http://' . '$_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] なので、設置した resumable_upload.php のURIということになる。
で、これが 事前の準備で行ったアプリケーション登録時に表示された 承認済みのリダイレクト URI と合致しないとエラーになるので Google Developers Console で以下のように設定する。

resumable_upload.php にアクセスしてみる。
resumable_upload.php はOAuth 2.0で承認してから承認済みユーザーの再生リストを追加するといった流れ。
以下はアクセスしてみた際のスクリーンショットです。
※Googleアカウント未ログイン状態からの承認の流れを見たかったので、事前にログアウトしておきました。
最初は承認を求めるメッセージとリンクが表示されます。

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

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

承認すると動画アップロードが実行され、返り値でもってアップロードした動画のタイトルやIDが表示されます。

以下のリンクより設置したサンプルへアクセス可能です。
※ご利用アカウントに動画がアップロードされますのでご注意ください。
Youtube API メモ Indexへ戻る