この記事では,GAS(Google Apps Script)でYouTubeのデータを取得し,Googleスプレッドシートに表示する方法を解説していきます.
GASをオススメする理由
個人的な意見ですが,「YouTubeのデータを取得したい!」という場合にはGASをオススメします.
理由はいくつかありますが,APIキーを必要としないことが1番の理由です.
YouTubeのデータは,YouTube Data APIを使用することで取得可能です.
その際,Google Cloud Platformでプロジェクトを作成し,APIキーを作成しなければなりません.
ですが, GASはGoogleが提供している実行環境なので,YouTube Data APIを使用する際にAPIキーを作成する必要がありません.
また,Googleスプレッドシートと紐づけることで,取得したデータをそのままスプレッドシートにまとめるて出力することができます.
これらの点から,GASを使うことで比較的簡単にYouTubeのデータを取得することができます.
YouTubeのデータをスプレッドシートに表示する
それではさっそく,YouTubeのデータをスプレッドシートに表示します.
今回は,ラーメンに関連する動画のタイトルを取得してみます.
スプレッドシートからGASを開く
まずは,GoogleスプレッドシートからGASを開きます.
初めて開く方はこちらを参考にしてみてください.
YouTubeのデータをログに出力
YouTube Data APIを使用することで,YouTubeの様々なデータを取得ことができます.
まずは,ラーメンに関連する動画のタイトルを10個取得してみましょう.
こちらの関数をGASに追加します.
function searchByKeyword() {
// データを取得
const results = YouTube.Search.list('snippet', {
q: 'ラーメン',
maxResults: 10
});
// ログに表示
for(let i = 0; i < results.items.length; i++){
Logger.log(results.items[i].snippet.title)
}
}
関数「myFunction」はそのまま残しておいて問題ありません.
次に,サービスにYouTube Data APIを追加します.
サービスの横の「+」をクリックし, YouTube Data API を選択し,追加します.
利用規約もしっかりと確認しましょう.
追加出来たら,保存して,実行する関数を「searchByKeyword」に変更し,実行ボタンをクリックします.
初めて YouTube Data API を使う場合は承認が必要となるので,このような画面が表示されます.
権限を確認をクリックしたら,使用しているGoogleアカウントを選択します.
するとこのような画面が表示されるので,「詳細を表示」をクリックし,「無題のプロジェクトに移動」をクリックします.
問題がなければ,許可をクリックします.
先ほどの画面に戻るので,もう一度実行ボタンを押します.
すると,実行ログにラーメン動画のタイトルが10件表示されます.
取得したデータをスプレッドシートに表示
先ほどの関数「 searchByKeyword」に
- アクティブなスプレッドシートを取得
- スプレッドシートにデータを表示
するコードを追加します.
function searchByKeyword() {
// データを取得
const results = YouTube.Search.list('snippet', {
q: 'ラーメン',
maxResults: 10
});
// 追加(アクティブなシートを取得)
const mySheet = SpreadsheetApp.getActiveSpreadsheet().insertSheet();;
// ログに表示
for(let i = 0; i < results.items.length; i++){
Logger.log(results.items[i].snippet.title)
// 追加(スプレッドシートにデータを表示)
mySheet.getRange(i+1, 1).setValue(results.items[i].snippet.title)
}
}
追加出来たら,保存して実行します.
こちらも初めて実行する際は,認証が必要になります.
先ほどと同じ手順で進めていきます.
問題がなければ,「許可」をクリックします.
実行できたら,このように動画のタイトルが10個,スプレッドシートに表示されます.
取得できるデータ
今回は動画のタイトルを取得しましたが,他にも様々なデータを取得することが可能です.
公式のリファレンスに取得できるデータがまとめられているので,興味のある人は是非ご覧ください.
まとめ
今回は,YouTubeのデータをGASを利用してスプレッドシートに表示する方法を解説しました.
公式のサンプルコードもあるので,参考にしてみてください.