#YouTubeのリアルタイム再生回数をスプレッドシートに自動で反映させる方法
##この記事の目的
国内のメディア企業でYouTubeチャンネルの制作とデータ分析を担当しているstNaoです。
弊社ではスプレッドシートを用いてYouTube動画の分析を管理しているのですが、
日々定期観察している動画の現在の再生回数を知りたいことがあります。
この記事では、下の画像のように動画の現在の再生回数をスプレッドシートで表示する方法を紹介いたします。
YouTube APIの認証をもらっておく
事前にYouTube API
の認証キーを入手しておく必要があるので、下記の記事などで準備しておきましょう。
YouTube API APIキーの取得方法
https://qiita.com/chieeeeno/items/ba0d2fb0a45db786746f
動画のIDを集める
下記の記事で説明したスプレッドシート を今回も用います。
再生回数を調べたい動画のIDをスプレッドシート に記入しましょう。
YouTubeのサムネ一覧をスプレッドシートで一括取得する方法
##GAS
GASのエディタを開きます。
画像を参考に、スクリプトエディタを開いてください。
次のコードを使用します。
function myFunction() {
//sheetオブジェクト作成
const sheet=SpreadsheetApp.getActiveSheet();
//動画IDが記入されたセルのrangeオブジェクトを作成
const range_id=sheet.getRange(1,1,sheet.getLastRow())
//作成したrangeオブジェクトから動画IDを配列で作成する
const values=range_id.getValues()
//YouTube APIに送信するクエリを作成する
const qury_array=values.map(id =>"&id="+id)
var qury= qury_array.join("")
var json_url="https://youtube.googleapis.com/youtube/v3/videos?part=statistics"+qury+"&key=あなたのAPIキー";
//YouTube APIからデータを受診する
var json=UrlFetchApp.fetch(json_url).getContentText();
var jsonData=JSON.parse(json);
//結果をセルに記入する
for (let row=0; row<values.length; row++){
Logger.log(jsonData.items[row]['statistics']['viewCount']);
sheet.getRange(row+1,3).setValue(jsonData.items[row]['statistics']['viewCount']);
}
}
##解説
YouTube API
を使うことで、YouTubeに関連するデータをYouTubeから公式に受け取ることが可能です。
「APIキー」という鍵をクエリーという注文文に入れて注文することで、YouTubeから返事が返ってきます。
結果を入れるセルを変更したい場合は、以下のコード部分にある`getRange()'の()内を変更することで調節できます。
//結果をセルに記入する
for (let row=0; row<values.length; row++){
Logger.log(jsonData.items[row]['statistics']['viewCount']);
sheet.getRange(row+1,/*ここが列を記入する部分*/).setValue(jsonData.items[row]['statistics']['viewCount']);
##終わり
以上です。
画像のようにサムネイルを加えることで、より見やすくなります。
こちらの解説は下記のポストを参照してください。
YouTubeのサムネ一覧をスプレッドシートで一括取得する方法
YouTubeの分析について、「こうしたい」「ああしたい」といった疑問がありましたらコメントにてリクエストお願いいたします。