今回は、スプレッドシートとAppスクリプトを使用して、Google Search Console APIからパフォーマンスレポートのRAWデータを取得する方法をご紹介します。
こんな悩みをお持ちの方に良いかと思います。
- 日付 / 国 / クエリ / デバイスなど、管理画面からダウンロードできない組み合わせで実績を抽出したい
- 配布されているスプレッドシートのアドオンでは抽出が出来ないデータを見たい。特に過去へ遡ったデータ。(私の環境ではできませんでした)
- データベースを部門で扱えないのでスプレッドシートにサクッとデータを抽出したい
- 分析ツールに読み込ませる為にcsv出力が必要
機能一覧
- 指定した期間の実績を抽出
- 日次バックアップ
- 抽出したデータを指定したGoogle Driveフォルダにcsv保存
使用するツール・環境
- Google スプレッドシート
- Google App Script
- Google Cloud Platform
それでは、作り方に入っていきます!
作り方
スプレッドシートの用意
こちらのURLからスプレッドシートを開き、ご自身のGoogle Driveにコピーを保存してください。ファイル > コピーの作成
Google Search Console RAW Data Export
Google App Scriptの準備
今回はGoogle App Scriptを活用します。
コピーしたスプレッドシートを開き、スクリプトエディタを立ち上げます。ツール > スクリプトエディタ
プロジェクトのプロパティから“スクリプトID”をメモしておきます。ファイル > プロジェクトのプロパティ
Google Cloud Platform プロジェクトの設定
Google Cloud Platformにて、OAuth2.0を使った認証情報を作成します。
App ScriptのOAuth2.0のライブラリは既に追加されている状態です。
まずは、使用するGoogle Cloud Platformのプロジェクトとスクリプトを紐付けます。
Google Cloud Platformを開き、任意のプロジェクトを選択もしくは作成し、”プロジェクト番号“をメモします。
スクリプトとGoogle Cloud Platformを紐付けます。
スクリプトエディタに戻り、Cloud Platform プロジェクト メニューを開きます。
先ほどメモをした”プロジェクト番号“を入力し、”プロジェクトを設定“を選択。リソース > Cloud Platform プロジェクト
Search Console API の設定
Search Console APIの設定に入ります。Google Cloud PlatformのAPIライブラリを開きます。APIとサービス > ライブラリ
検索窓にて”Google Search Console API“を検索します。
“有効にする”を選択してAPIの使用を開始します。
認証情報の作成
Search Console APIを有効にすると、以下の画面が表示されたかと思います。ページトップに表示されている、”認証情報を作成”を選択します。
*表示されていない場合は、メニュー > APIとサービス > 認証情報
を選択。
“必要な認証情報の種類を調べる“内の”クライアント ID“を選択してください。
以下の内容で設定をし、”作成”を実行します。
ここで、メモしておいた”スクリプトID”を”認証済みのリダイレクトURI”内に書き換えます。
- アプリケーションの種類 : ウェブアプリケーション
- 名前:Search Console (*任意の名前を設定してください。)
- 承認済みのリダイレクト URI : https://script.google.com/macros/d/
{スクリプトID}
/usercallback
完了ポップアップが表示されます。
ここで表示される“クライアント ID”と”シークレットキー”をメモしてください。
※これらのキーは他人に共有しないように保管してください。
スクリプトに戻り、スクリプト名”Variable.gs”を書き換えます。
先ほどOAuth認証情報発行でメモした”クライアント ID”と”シークレットキー”を書き換え、保存。
var CLIENT_ID = 'YOUR_CLIENT_ID';
var CLIENT_SECRET = 'YOUR_CLIENT_SECRET';
以上で、認証情報の作成が完了しました。
いざ、実行!の前に・・・
スプレッドシートに戻り、使用可能なSearch Consoleのプロパティ一覧を取得します。Search Console > List Account Sites
を実行します。
初回実行時、このような認証画面が表示されます。
ご自身のGoogleアカウントが表示されていることを確認して、アカウントを選択。
このようなポップアップが表示されます。
URL全文(画像では隠している箇所も含めて)コピーしてOKでポップアップを閉じた後、別のタブでコピーしたURLを開きます。
先ほどと同様に認証画面が表示されるので、アカウントを選択します。
“(任意のPJ名)への権限付与”を求められるので、”許可”を選択
最後にもう一度確認が入ります!笑
こちらも”許可”を選択してください。
これで初回認証の完了です!
テスト実行
これで全ての設定が完了し、晴れてスクリプトを実行できる様になりました!
再度、List Account Sitesを実行します。
アカウントにアクセス権が付与されているプロパティーの一覧が表示されることを確認し、設定完了となります。Search Console API> List Account Sites
使い方
長くなってしまったため、使い方は次の記事で紹介します。では!
参考にしたサイト
- NETPEAK Blog|Connecting Search Console API to Google Spreadsheets
https://netpeak.net/blog/connecting-search-console-api-to-google-spreadsheets/ - Github|An OAuth2 library for Google Apps Script.
https://github.com/gsuitedevs/apps-script-oauth2