YouTubeチャンネルのデータ分析、面倒だと思っていませんか?
この記事では、Google Apps Script (GAS) を使って、YouTubeアナリティクスのデータを Google スプレッドシートに自動で取得する方法 を解説します!
「プログラミングなんて無理…」と思っていたあなたも、コピペOK の手順と丁寧な解説で、今日からデータ分析を自動化できます!
この記事を読むと…
- YouTubeアナリティクスのデータを、Google スプレッドシートに自動で取得できるようになります。
- データの期間や、視聴回数・高評価数などの知りたい情報を、細かく設定できます。
- 設定で躓きやすいポイントや、よくあるエラーの対処法も解説しています。
👇 今回使用する Google Apps Script のコードはこちら 👇
Google Apps Script コード (Googleドキュメント)
Googleドキュメントの使い方
- リンク先のGoogleドキュメントは閲覧専用です。
- この記事の手順に沿って、必要な部分のコードをコピー&ペーストして使用してください。
さらに!
次回の記事では、
- YouTube Studio アナリティクスから手動でデータを取得する方法 (API では取得できない、より詳細なデータ)
- Google AI Studio を活用したデータ分析
を解説します。お楽しみに!
この記事の手順は、Google Cloud Platform (GCP) プロジェクトと Google Apps Script (GAS) を同じ Google アカウントで管理・設定することを前提としています。
GCP プロジェクト、そして GAS が動作する Google スプレッドシートは、同じ Google アカウントで管理・設定する必要があります。異なるアカウントを使用すると、認証エラーや権限エラーが発生し、データ取得が正常に行えません。
YouTube チャンネルについては、必ずしも同じ Google アカウントである必要はありません。異なる Google アカウントの YouTube チャンネルのデータを取得する場合は、「OAuth 同意画面」>「対象」>「テストユーザー」に、そのチャンネルを管理している Google アカウントを登録してください。
もし、既に異なる Google アカウントで GCP プロジェクトや GAS を作成してしまっている場合は、GCP プロジェクトと GAS を同じ Google アカウントで作り直すことを強く推奨します。
Google Apps Script (GAS) の準備
この手順では、YouTube Analytics のデータを書き込むための Google スプレッドシートを新規作成し、Google Apps Script (GAS) のエディタを開きます。
GAS (Google Apps Script) とは?
GAS は、Google が提供するプログラミング言語で、Google スプレッドシートや Gmail などの Google サービスを操作したり、連携させたりすることができます。
JavaScript をベースにしているので、JavaScript を触ったことがある人なら、比較的簡単に習得できます。GAS は、サーバー不要で、Google アカウントさえあれば無料で利用できます。
- Google スプレッドシートの新規作成:
- Google スプレッドシートのホーム画面 (https://docs.google.com/spreadsheets/) にアクセスし、GCP プロジェクトと同じ Google アカウントでログインします。
- 「空白のスプレッドシート」を選択し、新しいスプレッドシートを作成します。
- スプレッドシートの名前を変更:
- 画面左上の「無題のスプレッドシート」と表示されている部分をクリックし、「YouTube Analytics Data」などに変更します。
- 重要: 後でこのスプレッドシートを特定しやすくするために、必ず名前を付けてください。
- シート名の確認:
- 画面下部にあるシートタブを確認します。デフォルトでは「シート1」という名前になっています。
- 重要: このシート名は、後で Google Apps Script のコード内で使用します。別の名前に変更した場合は、その名前をメモしておいてください。今回の例では、「シート1」のまま進めます。
- Google Apps Script エディタを開く:
- Google スプレッドシートのメニューバーから、「拡張機能」>「Apps Script」を選択します。
- 新しいタブで Google Apps Script のエディタが開きます。
- 重要:
- Google Apps Script エディタを開く際は、必ずGoogle スプレッドシートと同じGoogle アカウントでブラウザにログインしてください。
- 異なるアカウントでログインしていると、エディタが正常に起動しない、または認証エラーが発生する可能性があります。
- プロジェクト名の変更 (任意):
- Google Apps Scriptエディタの左上にある「無題のプロジェクト」と表示されている部分をクリックすると、プロジェクト名を変更できます。
- 「YouTube Analytics to Sheets」など、わかりやすい名前に変更しておきましょう。
- プロジェクト名を変更したら、「プロジェクト名を変更」ボタンをクリックします。
これで、GAS を使って YouTube Analytics API からデータを取得し、スプレッドシートに書き込む準備ができました!
設定手順1: Google Cloud Platform (GCP) プロジェクトの作成
次に、Google Cloud Platform (GCP) でプロジェクトを作成します。GCP は、Google が提供するクラウドサービスの総称です。YouTube Analytics API を利用するには、GCP プロジェクトが必要になります。
- GCP Console にアクセス:
- https://console.cloud.google.com/ にアクセスします。
- Google アカウントでログイン:
- Google スプレッドシート、GAS (Google Apps Script) と同じ Google アカウントでログインします。
- プロジェクトの新規作成 (または選択):
- 画面上部のプロジェクト選択ドロップダウンをクリックします。
- 既存のプロジェクトを使用する場合は、そちらを選択します。
- 新しいプロジェクトを作成する場合は、「新しいプロジェクト」をクリックします。
- プロジェクトの詳細を入力:
- プロジェクト名:
- わかりやすい名前を入力します (例: youtube-analytics-to-sheets)。
- 場所:
- 通常は「組織なし」のままでOKです。
- 組織 (会社や学校など) に所属している場合は、組織を選択することもできます。
- 重要: このプロジェクトには自動的に「プロジェクト番号」という一意の識別番号が割り当てられます。この番号は、後で Google Apps Script の設定で必要になります。
- プロジェクト名:
- 「作成」をクリック:
- プロジェクトが作成されるまで数秒待ちます。
- プロジェクト作成完了の通知:
- プロジェクトが正常に作成されると、画面右上に「プロジェクト「(プロジェクト名)」を作成しました」という通知が表示されます。
- プロジェクト番号の確認、コピー、そしてGASへの設定:
- 画面上部のプロジェクト選択ドロップダウンをクリックし、作成したプロジェクトを選択します。
- 左側のナビゲーションメニューから「Cloud の概要」>「ダッシュボード」を選択します。
- ダッシュボードの「プロジェクト情報」の中に、「プロジェクト番号」という項目があります。
- プロジェクト番号をコピーします。
- 重要: コピーしたプロジェクト番号は、Google Apps Scriptに設定します。
- Google スプレッドシートの画面に戻り、「拡張機能」>「Apps Script」でGoogle Apps Scriptエディタを開きます。
- Google Apps Scriptエディタの左側にある歯車アイコン (⚙️、プロジェクトの設定) をクリック。
- 「Google Cloud Platform (GCP) プロジェクト」セクションの「プロジェクトを変更」ボタンをクリック。
- 「GCP のプロジェクト番号」入力欄に、先ほどコピーしたプロジェクト番号を貼り付け、「プロジェクトを設定」ボタンをクリック。
設定手順2: YouTube Analytics API の有効化
次に、作成したプロジェクトで YouTube Analytics API を有効にします。
- API ライブラリに移動:
- GCP Console の左側のナビゲーションメニュー (☰ アイコン) から、「API とサービス」>「ライブラリ」を選択します。
- YouTube Analytics API を検索:
- 検索バーに「YouTube Analytics API」と入力し、検索します。
- 検索結果から「YouTube Analytics API」を選択:
- 検索結果には、「YouTube Analytics API」と「YouTube Reporting API」の2つが表示されます。
- 「YouTube Analytics API」 の方を選択してください。
- API を有効にする:
- 「YouTube Analytics API」のページが表示されたら、「有効にする」ボタンをクリックします。
- APIが有効になると、APIの詳細画面が表示されます。
設定手順3: 認証情報 (OAuth 2.0 クライアント ID) の作成
YouTube Analytics API を使用するには、認証情報が必要です。ここでは、OAuth 2.0 クライアント ID を作成します。
OAuth 2.0 とは?
OAuth 2.0 は、ユーザーの許可を得て、アプリケーションが Google のリソース (ここでは YouTube Analytics のデータ) にアクセスするための仕組みです。ユーザーは、自分の Google アカウントのパスワードをアプリケーションに教えることなく、安全にデータへのアクセスを許可できます。
- OAuth 同意画面の設定 (必須):
- 左側のナビゲーションメニューから「API とサービス」>「OAuth 同意画面」を選択します。
- 初めて設定する場合、画面に設定項目が表示されます。
- 手順:
- アプリ情報の入力:
- アプリ名:
- ユーザーに表示される名前なので、わかりやすい名前を付けてください (例: YouTube Analytics to Sheets)。
- ユーザーサポートメール:
- ドロップダウンリストから、ユーザーからの問い合わせを受け付けるメールアドレスを選択します。
- 通常は、Googleアカウントと同じメールアドレスで問題ありません。
- 「次へ」をクリックします。
- アプリ名:
- 対象ユーザーの選択:
- 「外部」を選択します。
- 個人利用や、特定のユーザーのみが使う場合は「外部」を選択します。
- 後で「テストユーザー」として自分や利用を許可するユーザーの Google アカウントを追加します。
- 組織 (会社や学校など) 内のユーザーだけが使う場合は「内部」を選択します。
- 「次へ」をクリックします。
- 「外部」を選択します。
- 開発者の連絡先情報:
- メールアドレスを入力します。
- Googleからのプロジェクトに関する通知(規約の変更など)を受け取るためのメールアドレスです。
- 通常、ユーザーサポートメールと同じメールアドレスで問題ありません。
- 「次へ」をクリックします。
- メールアドレスを入力します。
- 確認と作成:
- 最後に、設定内容の確認画面が表示されます。
- 「Google API サービス: ユーザーデータに関するポリシー」 に同意するチェックボックスをオンにします。
- 「作成」ボタンをクリックします。
- OAuthの概要画面が表示されます。「ダッシュボードに戻る」をクリックします。
- アプリ情報の入力:
- リダイレクト URI の取得 (GAS):
- OAuthクライアントIDを作成する前に、Google Apps ScriptでリダイレクトURIを取得します。
- 手順:
- OAuth2ライブラリの追加:
- Google Apps Scriptエディタの左側にある「ライブラリ」の右の「+」ボタンをクリック
- 「ライブラリを追加」ダイアログが表示
- 「スクリプト ID」欄に、以下のように入力します。
1B7FSrk5Zi6L1rSxxTDgDEUsPzlukDsi4KGuTMorsTQHhGBzBkMun4iDF
- 「検索」ボタンをクリック
- OAuth2 というライブラリが表示されたら、「バージョン」が最新のものになっていることを確認し、「追加」ボタンをクリックします。
- 重要: このライブラリを追加しないと、
ReferenceError: OAuth2 is not defined
というエラーが発生します。
- コードのコピー&ペースト:
- Google Apps Script コード (Googleドキュメント)を開き、「リダイレクトURI取得タブ」のコードをすべてコピーします。
- Google Apps Script エディタに、コピーしたコードを貼り付けます (エディタに最初から書かれているコードはすべて削除してOKです)。
- 実行する関数の選択:
- Google Apps Script エディタのツールバーで、「getOAuth2RedirectUri」関数が選択されていることを確認します(デバッグボタンの右)。
- スクリプトの実行:
- Google Apps Script エディタのツールバーにある「実行」ボタン(▶️)をクリックします。
- 初回実行時の権限承認 (重要!):
- 初回実行時には、Google アカウントへのアクセス許可を求められます。
- 以下の手順で許可を与えてください。
- 「承認が必要です」というダイアログが表示されたら、「権限を確認」をクリックします。
- Google アカウントの選択画面が表示されたら、GCP プロジェクトおよび Google Apps Script を作成・管理している Google アカウントを選択します。
- 「このアプリは Google で確認されていません」という警告が表示されたら、「詳細」をクリックします。
- 「[プロジェクト名](安全ではないページ)に移動」をクリックします (プロジェクト名は、Google Apps Script のプロジェクト名に置き換わります)。
- 「[プロジェクト名] が Google アカウントへのアクセスを求めています」という画面で、要求されている権限を確認し、「続行」をクリックします。
- リダイレクト URI のコピー:
- 実行ログにリダイレクト URI (例:
https://script.google.com/macros/d/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/usercallback
) が表示されるので、コピーします。
- 実行ログにリダイレクト URI (例:
- OAuth2ライブラリの追加:
- OAuthクライアントIDの作成:
- 左側のナビゲーションメニューから「API とサービス」>「OAuth 同意画面」を選択します。
- OAuthの概要画面にある、「OAuthクライアントを作成」をクリックします。
- 手順:
- アプリケーションの種類を選択:
- 「ウェブ アプリケーション」 を選択します。
- 理由: Google Apps Script は、ウェブブラウザ上で動作するアプリケーションとして扱われるためです。
- 詳細を入力:
- 名前:
- クライアント ID の名前 (例: YouTube-to-Sheets-Client, GAS-YouTube-Analytics-Client)。
- 重要: この名前は、GCPコンソール内でこのクライアントIDを識別するためのものです。後で自分が何の目的で作成したクライアントIDか分かるように、名前を付けてください。
- 承認済みの JavaScript 生成元:
- 今回は空欄のままで大丈夫です。
- 承認済みのリダイレクト URI:
- ここに、先ほどGASで取得したリダイレクトURIを貼り付けます。
- 重要:
- 余分なスペースや文字が含まれていないか
https://
から始まっているか- 末尾に
/usercallback
が付いているか - 大文字・小文字が正確に一致しているか
- 上記を、細心の注意を払って確認してください
- 名前:
- 「作成」をクリック:
- 作成をクリックすると、クライアント ID とクライアントシークレットが生成されます。これらは非常に重要な情報なので、安全な場所に保管してください (絶対に公開しないでください)。
- テストユーザーの追加:
- 左側のナビゲーションメニューから「API とサービス」>「OAuth 同意画面」>「対象」>「テストユーザー」の項目に進みます。
- 「+ ADD USERS」をクリックし、YouTube チャンネルを管理している Google アカウントのメールアドレスを入力して追加します。
- 複数人でテストする場合は、それぞれの Google アカウントを追加します。
- 重要: ここで登録するメールアドレスは、YouTube チャンネルに紐づいている Google アカウントのメールアドレスである必要があります。ブランドアカウントの場合は、ブランドアカウントの管理権限を持つ Google アカウントのメールアドレスを登録します。
- アプリケーションの種類を選択:
設定手順4: Google Apps Script のコードを記述
認証情報 (クライアント ID とクライアントシークレット) が作成できたら、いよいよ Google Apps Script のコードを記述して、YouTube Analytics API からデータを取得できるようにします。
- Google Apps Script のコードエディタを開く:
- まだ開いていない場合は、YouTube Analytics のデータを書き込む Google スプレッドシートを開き、「拡張機能」>「Apps Script」を選択します。
- コードのコピー&ペースト:
- Google Apps Script コード (Googleドキュメント)を開き、「データ取得・書き込みタブ」のコードをすべてコピーし、Google Apps Script エディタに貼り付けます。
- 重要: 先ほど貼り付けた「リダイレクトURI取得用コード」は削除して、「データ取得・書き込み用コード」に置き換えてください。
- クライアント ID とクライアントシークレットの置き換え:
- コード内の
YOUR_CLIENT_ID
とYOUR_CLIENT_SECRET
(赤字で表示)の部分を、Google Cloud Platform で生成した実際のクライアント ID とクライアントシークレットに置き換えます。 - 重要: クライアントIDとクライアントシークレットは、必ずシングルクォーテーション (
'
) またはダブルクォーテーション ("
) で囲まれた状態で貼り付けてください。
- コード内の
設定手順5: 実行と確認
いよいよ、YouTube Analytics のデータをスプレッドシートに取得してみましょう!
- 実行する関数の選択:
- ツールバーで、「getYouTubeAnalyticsData」関数が選択されていることを確認します。
- 実行:
- ツールバーの「実行」ボタン(▶️)をクリックします。
- 認証 (初回実行時、または認証情報が変更された場合):
- 実行ログに「以下のURLを開いて認証してください:」というメッセージと、非常に長いURLが表示されます。
- このURLを全てコピーし、ブラウザのアドレスバーに貼り付けてEnterキーを押します。
- Googleアカウントのログイン画面が表示されたら、YouTubeチャンネルを管理しているGoogleアカウントでログインします。
- 重要: ここでログインする Google アカウントは、OAuth 同意画面の「テストユーザー」に追加したアカウントである必要があります (OAuth 同意画面を「外部」に設定した場合)。もしリストに目的のアカウントが表示されない場合は、「別のアカウントを使用」をクリックして、正しいアカウントでログインしてください。
- 認証が成功すると、「認証に成功しました。このタブを閉じてください。」というメッセージが表示されたタブが開きます。このタブは閉じてOKです。
- 認証完了後、再度実行:
- Google Apps Scriptのコードエディタに戻り、再度ツールバーの「実行」ボタン(▶️)をクリックします。
- 重要: 認証が完了した後は、認証画面は表示されず、スクリプトが直接実行されます。
- スプレッドシートの確認:
- Google スプレッドシートを開き、
getYouTubeAnalyticsData()
関数内のsheet = spreadsheet.getSheetByName('シート1')
で指定したシート (デフォルトでは "シート1") に、YouTube Analytics のデータが書き込まれているか確認します。
- Google スプレッドシートを開き、
データが書き込まれていれば成功です!
もしデータが書き込まれない場合は、以下の点を確認してください:
- 実行する関数が
getYouTubeAnalyticsData
になっているか:- Google Apps Script エディタのツールバーで、
getYouTubeAnalyticsData
関数が選択されていることを確認してください。もし、getOAuth2RedirectUri
など、別の関数が選択されている場合は、getYouTubeAnalyticsData
を選択し直してください。
- Google Apps Script エディタのツールバーで、
- (以下、既存のエラーチェック項目を列挙)
取得データのカスタマイズ
getYouTubeAnalyticsData()
関数内のパラメータを変更することで、取得するデータを自由にカスタマイズできます。
ids
: 取得するチャンネルを指定startDate
/endDate
: データ取得期間metrics
: 取得したい指標dimensions
: データを分割する単位sort
: データを並べ替える順序
まとめ
この記事では、Google Apps Script (GAS) と YouTube Analytics API を連携させ、チャンネルの分析データを Google スプレッドシートに自動取得する方法を解説しました。
これまで手作業で行っていたデータ収集や、YouTube アナリティクスの画面で見づらかった過去データとの比較も、この方法なら自動化・効率化できます。
さあ、あなたも今日から YouTube データ分析を自動化し、チャンネル運営をレベルアップさせましょう!
参考:
- YouTube Analytics API リファレンス: https://developers.google.com/youtube/analytics
- Google Apps Script 公式ドキュメント: https://developers.google.com/apps-script
次のステップ:
スプレッドシートに自動取得したデータを、AI を活用してさらに深く分析し、チャンネル運営に役立てる方法を解説した記事もぜひご覧ください。