見出し画像

【サンプルコードあり】今すぐYouTubeから欲しいデータを集める方法

こんにちは 自動化ツール制作マニアのおがわです。

前回の記事でYouTube Data APIをGoogle Cloudから利用する方法について紹介しました。

今回はもっと簡単にYouTube Data APIを利用できるgoogle apps scriptというサービスについて紹介します。


google apps scriptって何?

google apps scriptはGoogleが提供しているプログラミング言語です。

JavaScriptをベースに開発されており、GmailやGoogleスプレッドシートなどGoogleの各種サービスを自動化したり新しい機能を追加したりすることができます。

さらにそれぞれを連携させることもできる便利なプログラミング言語です。

こんなの無料で使わせてもらっていいんですかGoogleさん?

比較的難易度が低く、初心者でも扱いやすい言語でありながらgoogleの各サービスを自動化できる強力な言語なのでこれを機にぜひ使ってみてください。

ところで、google apps scriptという表記は長くて読みにくいので、ここからは省略してGASと呼びます。

GASとYouTube Data APIの関係

前回の記事で紹介したGoogle CloudからYouTube Data APIを利用する方法は以下の点がネックでした。

  • 新たにアカウント登録が必要

  • クレジットカードの登録が必要

  • APIキーの取得が必要

これらの登録作業は初めてGoogle Cloudを触る人には少々めんどうです。

そこでおすすめしたいのが今回紹介するGASです。

繰り返しになりますが、GASはGoogleが開発して無償で開発環境を提供しているプログラミング言語です。

なので同じくGoogleが提供しているYouTubeのAPIをかんたんに利用できるように設計されています。

しかも、すでにGoogleのアカウントを持っていれば追加の登録作業は必要ありません。

今すぐYouTube Data APIを使ってツールの開発をスタートできます。

YouTube Data APIの使い方

さっそくYouTube Data APIの使い方を見ていきます。

まずはGoogleドライブからスプレッドシートを立ち上げてください。

メニューバーの拡張機能を選択するとApps Scriptという項目が表示されるのでクリックします。

以下のような画面が表示されれば準備OKです。

今回はGASの基本的な操作方法についての説明はしません。

YouTube Data APIを使うところまで説明します。

画面左側に「サービス」と書かれた項目があります。

「サービス」の並びの「+」プラスをクリックしてください。

追加可能なサービスの一覧が表示されます。

一覧を下までスクロールして「YouTube Data API v3」を選択したら「追加」をクリックして完了です。

YouTubeから情報を抜き取ってみる

YouTube Data APIを導入する手順を解説してこの記事を終わりにするのもありですが、それだけでは少し物足らない気がします。

せっかくAPIを使う準備を整えたので、実際にYouTubeから欲しい情報を取り出してみましょう。

以下のコードをコピーして、GASのスクリプトエディタに張り付けましょう。

function onOpen() {
  SpreadsheetApp.getUi().createMenu('YouTube').addItem('検索', 'searchYouTube').addToUi();
}

function searchYouTube() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('シート1'),
      keyword = sheet.getRange('A1').getValue(),
      output = [];

  if (!keyword) return SpreadsheetApp.getUi().alert('A1セルに検索ワードを入力してください。');

  sheet.getRange('B1:E1').setValues([['タイトル', 'URL', '再生数', '高評価数']]);
  var results = YouTube.Search.list('id,snippet', {q: keyword, maxResults: 20, type: 'video'});

  for (var i = 0; i < results.items.length; i++) {
    var item = results.items[i],
        videoId = item.id.videoId,
        details = YouTube.Videos.list('statistics', {id: videoId});

    if (details.items.length === 0) continue;
    var stats = details.items[0].statistics;
    output.push([item.snippet.title, 'https://www.youtube.com/watch?v=' + videoId, stats.viewCount, stats.likeCount]);
  }

  if (output.length > 0) sheet.getRange(2, 2, output.length, 4).setValues(output);
}

貼り付けたらエディタの上にある「💾」を押してから「▷実行」ボタンを押します。

すると以下のような認証画面が表示されるので、画像と同じ手順で承認をしてください。

「権限を確認」をクリック。

アカウントを選択。

「詳細」をクリック。

「無題のプロジェクト(安全ではないページ)に移動」をクリック。

「許可」をクリックで承認が完了します。

承認が完了したらもう一度エディタの「▷実行」ボタンをクリックしてください。

最初に立ち上げたスプレッドシートを画面に表示します。

まずはA1セルに検索したいワードを入力してください。

メニューバーに「YouTube」という項目が追加されているのでクリックしてみます。

すると「検索」という選択肢が表示されるのでクリックしましょう。

するとA1セルに入力したキーワードの検索結果が20件分抽出されます。

このサンプルコードでは、各動画のタイトル、URL、再生数、高評価数を抽出する設定になっています。

まとめ

今回はGASでYouTube Data APIを導入する手順と、実際にYouTubeから情報を取得するコードについて紹介しました。

GASはgoogleのアカウントさえあればブラウザ上ですぐに利用できる便利なプログラミング言語だということが分かったと思います。

この記事で公開したコードだけでも十分便利なのですが、さらに詳細にYouTubeの動画検索やチャンネル検索の結果をリサーチしたい方は以下のツールを試してみて下さい。


この記事が気に入ったらサポートをしてみませんか?