2018年4月8日日曜日

YouTube Data APIの使い方

プログラムからYouTubeから情報を取得・アップロードする等場合はYouTube Data APIを使用します。
 YouTube Data APIについてはこのあたりをみればおおよそわかりますので軽く目を通してもらえればいいと思います。
このYouTube Data APIを使用するために2つの方法があります。
 APIの呼び出しについてはこのリンクを参照
「APIキー」もしくは「OAuth 2.0のトークン」が必要です。

このサイトでは基本はAPIキーを使用します。
アップロードなどの更新や自身のアカウントの情報の取得などはAPIキーではできません。

①APIキーの設定は 、Googleデベロッパーコンソールに移動し「YouTube Data API v3」をONするなどの作業が必要です。検索してその作業を行ってください。
※自分はアプリケーション制限:なし APIの制限:なしとしましたが制限がある方が良さそうです。

APIキーを作成できたらAPIキーの戻り値をコピーしてとりあえずメモ帳に保存しください。自分用のものためなので他人には知られないようにしてください。


②YouTube Data APIの簡単な使い方は
「https://www.googleapis.com/youtube/v3/search?」
などのURLにパラメータを付与し、さらにAPIキー(またはOAuth 2.0のトークン)を追加してURLを投げて、そのレスポンスを活用します。以下のコードで動きを確かめてみてください。
 コード内の①に先ほどのAPIキーの文字列。②に確認したい配信者のチャンネルのIDが入ります。IDはその配信のチャンネルに行きURLに含まれる「UCxxxxxxxxxxxxxxxxxxxxxx」のような文字列のことです。



実行すると$search_jsonの中身が表示されると思います。以下はそのチャンネルが生放送中でない場合の結果です。


現在生放送中であれば[items]の中にその生放送のタイトルなどの情報が含まれたものがレスポンスとして返ります。このように生放送のあるなしなどでレスポンスに値が含まれたり含まれないこと(これが重要)があります。
※なお限定公開の生放送は検出しません。

レスポンスは例えば生放送のタイトルを表示したい場合は
「print_r($search_json["items"][0]["snippet"]["title"]);」
のようにすればタイトルが取り出せます。
思ったように動作しない場合は$search_json等のレスポンスをそのまま表示して確認してみてください。

③YouTube Data APIの使用の注意
 APIを投げるたびにコストのようなものがかかり、1日の使用量や100秒単位での使用量の制限がありそれを超えるとエラーが返ってきます。
 たとえば複数のチャンネルの生放送を1秒ごとに検出しようとすると制限を超えてしまいます。
 Google Cloud PlatformでAPIとサービス>ダッシュボード>割り当て で使用量が確認できます。
長時間使用したり短時間で大量にAPIを投げる場合は使用量を意識してください。通常の使用では超えることないと思います。

0 件のコメント:

コメントを投稿