【完全版】GASでYouTube APIを連携してデータ取得する方法|初心者でもできる徹底解説!

「YouTubeの動画データやチャンネル情報を自動で取りたい…」
「再生数や登録者数を毎回手作業でチェックするのが面倒!」

そんなあなたにぴったりなのが、Google Apps Script(GAS)を使ったYouTube API連携&データ取得です!

この記事では、初心者でもできる
GASとYouTube APIを連携して、動画情報やチャンネルデータをスプレッドシートに自動取得する方法を
ステップごとにわかりやすく解説します!

これを読めば、YouTubeデータ管理を自動化できる仕組みが今日から作れます!


1. なぜGASでYouTube API連携をするべきなのか?

YouTubeチャンネルを運営したり、分析を行う際には、

  • 登録者数の推移を追いたい

  • 動画ごとの再生回数やいいね数を管理したい

  • キャンペーン用にデータを集計したい

などのニーズが頻繁に発生します。

でも、手動でチェック・記録するのは非効率。
そこでGASを使えば、

  • API経由で最新データを取得

  • 自動でスプレッドシートに記録

  • 定期的にデータを更新・管理

ができるので、圧倒的な時短&ミス防止が実現します!


2. 【準備編】必要なもの

  • Googleアカウント

  • Google Cloud Console(プロジェクト作成)

  • YouTube Data API v3の有効化

  • APIキー

  • Google Apps Script(GAS)

この5つをセットアップするだけで、すぐにデータ取得できるようになります!


3. 【設定編】YouTube API連携のための事前準備

まずはAPI接続のための設定をしていきましょう。


ステップ① Google Cloud Consoleにアクセス

https://console.cloud.google.com/


ステップ② 新しいプロジェクトを作成

「プロジェクトを作成」から任意の名前で新規プロジェクトを作成します。


ステップ③ YouTube Data API v3 を有効化

  • 「APIとサービス」→「ライブラリ」へ進む

  • 「YouTube Data API v3」を検索して「有効にする」


ステップ④ APIキーを発行

  • 「認証情報」→「認証情報を作成」→「APIキー」

  • 取得したAPIキーを控えておきましょう。

(セキュリティのため、使用するドメインやIP制限をかけるのがおすすめ)


4. 【基本編】GASでYouTube APIに接続してデータを取得する方法

いよいよGASを使った実装に入ります!


ステップ① Apps Scriptエディタを開く

スプレッドシートから
「拡張機能」→「Apps Script」→「新しいプロジェクト作成」


ステップ② サンプルスクリプトを書く

【例】特定チャンネルの基本情報を取得

function fetchYouTubeChannelData() {
  const apiKey = 'ここにあなたのAPIキー';
  const channelId = 'ここにチャンネルID';
  const url = `https://www.googleapis.com/youtube/v3/channels?part=snippet,statistics&id=${channelId}&key=${apiKey}`;
  
  const response = UrlFetchApp.fetch(url);
  const data = JSON.parse(response.getContentText());

  const channel = data.items[0];
  const title = channel.snippet.title;
  const description = channel.snippet.description;
  const subscriberCount = channel.statistics.subscriberCount;
  const viewCount = channel.statistics.viewCount;
  const videoCount = channel.statistics.videoCount;

  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('チャンネルデータ') || SpreadsheetApp.getActiveSpreadsheet().insertSheet('チャンネルデータ');
  sheet.clear();
  
  sheet.getRange(1, 1, 1, 5).setValues([['チャンネル名', '説明', '登録者数', '総再生数', '動画数']]);
  sheet.getRange(2, 1, 1, 5).setValues([[title, description, subscriberCount, viewCount, videoCount]]);
}

このスクリプトを実行すると、

  • チャンネル名

  • 説明文

  • 登録者数

  • 総再生回数

  • 動画数

がスプレッドシートに書き込まれます!


5. 【応用編】さらに活用できるデータ取得パターン!


✅ 動画リストを取得する(playlistItems API)

特定のチャンネルがアップロードした動画一覧も取得できます!


✅ 各動画の再生回数・いいね数を取得

個別動画IDを使って、
「どの動画が伸びているか」を定量管理できます!


✅ 毎日自動取得して成長グラフ化

GASのトリガー機能で毎日自動取得&記録すれば、
登録者数・再生数の推移グラフも作成可能!


6. 【運用編】YouTubeデータ取得のポイントと注意点


✔️ API使用制限に注意

YouTube Data APIには日単位でのクォータ制限(例:1万ポイント/日)があります。
大量リクエストが必要な場合は最適化必須!


✔️ データ保存形式を整える

スプレッドシートの列順・型を統一することで、
後からの集計や分析が楽になります。


✔️ エラー対策を入れる

ネットワークエラーやレスポンス異常に備えて、
try-catch文でエラーハンドリングしておきましょう。


7. まとめ|GASでYouTube API連携してデータ取得を自動化しよう!

GASを使えば、

  • チャンネル情報の定期取得

  • 動画単位の再生数・エンゲージメント把握

  • スプレッドシートでの自動管理

が誰でも簡単に実現できます!

まずはこの記事のサンプルコードで
「チャンネル基本情報取得」から始めてみましょう!

慣れてきたら、

  • 動画リスト取得

  • 指標推移グラフ作成

  • ダッシュボード化

など、さらにプロフェッショナルな分析運用も目指せます!

Shop now