GASでYouTubeのデータを取得してスプレッドシートに表示する方法を解説!

この記事では,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個,スプレッドシートに表示されます.

取得できるデータ

今回は動画のタイトルを取得しましたが,他にも様々なデータを取得することが可能です.

公式のリファレンスに取得できるデータがまとめられているので,興味のある人は是非ご覧ください.

API Reference  |  YouTube Data API  |  Google for Developers

まとめ

今回は,YouTubeのデータをGASを利用してスプレッドシートに表示する方法を解説しました.

公式のサンプルコードもあるので,参考にしてみてください.

YouTube Service  |  Apps Script  |  Google for Developers