Magicode logo
Magicode
1

GAS でアクセス数集計(Google Search Console 編)

前回紹介した、GAS でアクセス数集計(Google Analytics 編)に引き続き、今度は Google Search Console から取得してみます。

Google Search Console について

Google Search Console は Google の巡回ロボットが、自分のページをどのように解釈したかを報告してくれるツールです。その際に発覚した問題や、どのキーワードで引っかかっているかを教えてくれ、今後の SEO 改善に役立てることができます。

Google Search Console の集計

こちらも CSV などをダウンロードする方式です。右上の「エクスポート」を押すと出力形式を選択することができます。

ダウンロードしたものを開き、コピーして貼り付けなど、手間が大きいです。ここを API を使って楽をしましょう。

スクリプト環境の準備

準備としての Google Analytics との違いは、サービス(ライブラリ)が用意されていないことだけです。

1. Google Spreadsheet の準備

結果の出力先です。GAS を使うので Google Spreadsheet が最適です。

2. 記録用シートの作成

「Google Search Console API」とでもしておきましょう。この名前は GAS からシートを参照するときにで使います。

3. サイト ID またはドメイン ID の取得

現在のサイト ID またはドメイン ID を調べます。 レポート画面を表示し、アドレスバーに以下の記述を見つけます。

  • サイト ID の場合は「resource_id=https%3A%2F%2Fsite.jp%2F」これは記号がエンコードされており、実体は「resource_id=https ://site.jp/」という意味になります。エンコードされた値「https%3A%2F%2Fsite.jp%2F」を使用します。
  • ドメイン ID の場合は「resource_id=sc-domain%3Adomain.jp」こちらも記号エンコードされており、実体は「resource_id=sc-domain:domain.jp」という意味です。こちらもエンコード値「sc-domain%3Adomain.jp」を使用します。

4. API スコープの設定

今回はサービス(ライブラリ)ではなく、エンドポイントを使用します。この際に OAuth2 が必要なのですが、この GAS から外部に通信してよい、また Search Console からデータを取ってきていいよと許可を出す設定(スコープ)が必要です。Apps Script の設定画面に移動します。

application.json という特別な JSON ファイルが見えるようになるので、開き、中身を書き換えます。
書き換える内容は以下のとおりです(追記しました)。

ここにある oauthScopes がスコープを設定する部分で、スコープが以下の意味を持っています。

5. Search Console API の設定

今回は以下の流れでデータを取得します。

GAS → GCP → Search Console API

ここまでは GAS に対する設定で、中間にある GCP にも設定が必要です。 GCP プロジェクトの設定画面を開きます。

この画面で、新しいプロジェクトを作ります。

Google Search Console API を有効にします。

次に、OAuth の同意画面を作ります。

このプロジェクトは公開しないので、ひとまずの値を埋めて使えるようにしておきます。 必須の部分のみを設定します。

設定が終わったら、今設定しているプロジェクト番号を覚えます。

次に、API を使えるように設定します。

6. GAS から動かす GCP プロジェクトを変更

GAS の初期設定では、安全のために制限がかかっているプロジェクトが割り当てられています。これを先程覚えたプロジェクト番号にし、プロジェクトを設定します。

スクリプト部分の実装

やっと実装です。 クセがあるところを明示します。 まずはテスト関数を定義します。

次にメイン処理です。

応答はこのような感じなので、テスト部分を調整します。

テスト関数を調整します。

Discussion

コメントにはログインが必要です。