YouTube Data APIを使って動画の情報を取得する方法

Youtubeで公開されている動画の再生回数/コメント数/公開日などを、外部のWebサイトに表示する案件がありましたので、以下に方法をメモ書きました。機会がありましたら、ご参考ください。

Youtube APIを使う

動画情報を取得するには、Googleから提供されている「YouTube Data API」「YouTube Analytics API」などを使うのが手っ取り早いです。というわけで、使ってみましょう~。

Google APIコンソールで作業

まずは前準備をします。Googleアカウントでログイン済としてGoogle APIコンソールを開きます。(Googleアカウントがない方は、こちらで作成できます

APIを有効化する

次に、Google APIコンソールを開いたら、左側に「APIs」があるのでクリックします。

APIの一覧が表示されますので、下の画像にあるように「YouTube Data API」「YouTube Analytics API」の利用を「ON」にします。(今回は「YouTube Data API v3」のみ使いますが、私はYouTube Analytics APIも後ほど使うことがあったので、このタイミングで両方「ON」にしました)

APIを「ON」にする際、下のように規約関連の同意を求められますので、十分確認をして「Accept」をクリックします。

APIキーを確認

続けて、APIキーを確認します。「Credentials」をクリックします。

「Key for browser applications」にある「API key」の値をメモします。以上で完了です。

※API keyがみつからない場合は

もし、上記の「API key」の値が見つからない(browser keyがない)場合は、「CREATE NEW KEY」をクリックして新しく作成します。

「Browser key」をクリックして作成してください。

「Browser key」を作成する場合、どこからのアクセスを許可するのか「referer」を入力する欄が表示されます。何も入力しない場合は「Any referer allowed」となって、すべて許可します。下の画像の例では、私のローカル環境からのみ許可させています。

API キーがないんだけど・・・という場合は上記の方法で作成ください。

というわけで、前準備は完了です。ここまでの作業を簡単にまとめますと

  1. Google APIコンソールでYoutube APIの利用を許可する
  2. APIキーをメモっておく

以上の2点が重要です。

動画情報を取得してみよう

準備ができたので、実際に動画情報を取得しましょう。

取得する動画はこちら

例として、公式で公開されている「【MV】恋するフォーチュンクッキー / AKB48[公式]」のデータを取得します。

URLサンプル

以下のサンプルコードをブラウザーのアドレスバーに貼り付けます。「key」には先ほどメモした「APIキー」を入れましょう。「id」はそのまま動画のid「dFf4AgBNR1E」が入っています。その他、指定できるパラメーターはAPIの解説ページでご確認ください。

https://www.googleapis.com/youtube/v3/videos?id=dFf4AgBNR1E&key=APIキー&part=snippet,contentDetails,statistics,status

結果サンプル(一部)

成功すると、下の様なデータを取得できます。

"snippet": {
 "publishedAt": "2013-10-30T09:02:33.000Z",
 "channelId": "UCxjXU89x6owat9dA8Z-bzdw",
 "title": "【MV】恋するフォーチュンクッキー / AKB48[公式]",
 "description": "作詞:秋元 康 / 作曲 : 伊藤心太郎 / 編曲 : 武藤星児\n\n「\"恋チュン\"踊れば、嫌なことも忘れられる」\n\n本作は80年代ディスコ調のダンスナンバー!\n懐かしいサウンドと心地良いリズムに思わず踊り出してしまうような楽曲です♪\n\n振り付け師はパパイヤ鈴木さん!\n子供から大人まで、誰でも歌いながら楽しく踊れる覚えやすい振\nり付けになっています。\n\nMVではAKB48史上最多となる約4000人のエキストラと一緒に踊る\n大パレードにも注目です!\n\n \n 2013.8.21 ON SALE!!",
 "thumbnails": {
 "default": {
 "url": "https://i1.ytimg.com/vi/dFf4AgBNR1E/default.jpg"
 },
 "medium": {
 "url": "https://i1.ytimg.com/vi/dFf4AgBNR1E/mqdefault.jpg"
 },
 "high": {
 "url": "https://i1.ytimg.com/vi/dFf4AgBNR1E/hqdefault.jpg"
 },
 "standard": {
 "url": "https://i1.ytimg.com/vi/dFf4AgBNR1E/sddefault.jpg"
 }
 },
 "channelTitle": "AKB48",
 "categoryId": "10",
 "liveBroadcastContent": "none"
 },
 "contentDetails": {
 "duration": "PT5M23S",
 "dimension": "2d",
 "definition": "hd",
 "caption": "true",
 "licensedContent": true,
 "regionRestriction": {
 "blocked": [
 "DE"
 ]
 }
 },
 "status": {
 "uploadStatus": "processed",
 "privacyStatus": "public",
 "license": "youtube",
 "embeddable": true,
 "publicStatsViewable": true
 },
 "statistics": {
 "viewCount": "21013295",
 "likeCount": "33092",
 "dislikeCount": "7448",
 "favoriteCount": "0",
 "commentCount": "3678"
 }

上記の結果サンプルのように、動画の公開日/説明文/サムネイル/再生回数/コメント数などなど取得できます。

参考リンク

Google アカウントの作成方法

Getting Started with the YouTube Data API

YouTube Analytics API

著者:bouya Imamura