Google Apps Script のクイックスタート

このページの残りの部分で説明する手順を完了します。数分で、YouTube Data API にリクエストを行う簡単な Google Apps Script が作成されます。

このサンプル アプリケーションは、YouTube チャンネル データをスプレッドシートに追加する方法を示しています。

Prerequisites

このクイックスタートを実行するには、以下が必要です。

  • インターネットとウェブブラウザへのアクセス。
  • Google アカウント。
  • Google ドライブへのアクセス。

ステップ 1: スクリプトを作成する

  1. ウェブブラウザで Google ドライブを開きます。
  2. [新規] > [Google スプレッドシート] をクリックします。
  3. 新しいスプレッドシートで、[拡張機能] > [Apps Script] の順にクリックします。
  4. スクリプト エディタの内容を次のコードに置き換えます。
    // Note: Apps Script automatically requests authorization
    // based on the API's used in the code.
    
    function channelsListByUsername(part, params) {
      var response = YouTube.Channels.list(part,
                                           params);
      var channel = response.items[0];
      var dataRow = [channel.id, channel.snippet.title, channel.statistics.viewCount];
      SpreadsheetApp.getActiveSpreadsheet().appendRow(dataRow);
    }
    
    function getChannel() {
      var ui = SpreadsheetApp.getUi();
      var channelName = ui.prompt("Enter the channel name: ").getResponseText();
      channelsListByUsername('snippet,contentDetails,statistics',
                             {'forUsername': channelName});
    }
    
    function getGoogleDevelopersChannel() {
      channelsListByUsername('snippet,contentDetails,statistics',
                             {'forUsername': 'GoogleDevelopers'});
    }
    
    function onOpen() {
      var firstCell = SpreadsheetApp.getActiveSheet().getRange(1, 1).getValue();
      if (firstCell != 'ID') {
        var headerRow = ["ID", "Title", "View count"];
        SpreadsheetApp.getActiveSpreadsheet().appendRow(headerRow);
      }
      var ui = SpreadsheetApp.getUi();
      ui.createMenu('YouTube Data')
      .addItem('Add channel data', 'getChannel')
      .addSeparator()
      .addItem('Add GoogleDevelopers data', 'getGoogleDevelopersChannel')
      .addToUi();
    }
    
  5. [保存] をクリックします。
  6. 左上にある [無題のプロジェクト] をクリックし、「クイックスタート」と入力して [名前を変更] をクリックします。

ステップ 2: YouTube Data API を有効にする

  1. 左側のエディタ アイコン()をクリックします。
  2. 左側の [サービス] の横にある [サービスを追加] をクリックします。
  3. [YouTube Data API]、[追加] の順にクリックします。

ステップ 3: サンプルを実行する

  1. スプレッドシートを再読み込みします。コードの追加後に初めてスプレッドシートを読み込む場合は、最初の行に IDタイトル閲覧回数のヘッダーが入力されます。
  2. メニューバーで、[YouTube Data] > [Add GoogleDevelopers data] の順にクリックして、GoogleDevelopers チャンネルに関する情報をスプレッドシートに追加します。(YouTube のデータメニューは、標準のメニュー([ファイル]、[編集]、[表示] など)の横に表示されます)。

    サンプルを初めて実行すると、アクセスを承認するように求められます。

    1. [権限を確認] をクリックします。
    2. アカウントを選択してください。
    3. [Allow] をクリックします。
  3. メニューバーで [YouTube データ] > [チャンネル データを追加] の順にクリックして、選択したチャンネルのデータを追加します。プロンプトが表示されたら、チャンネル名(「GoogleDevelopers」や「SaturdayNightLive」など)を入力し、[OK] をクリックします。このスクリプトは、そのチャネルのデータを取得し、スプレッドシートに追加します。

参考資料

トラブルシューティング

ReferenceError: 「[API 名]」が定義されていません

このエラーは、Apps Script コードエディタで API がオンになっていない場合に発生します。ステップ 2.b に戻り、対応する切り替えスイッチがオンに設定されていることを確認します。