• HOME
  • webサイト研究
  • GAS初心者がSearch Console API連携に挑戦してわかったこと【エラーと対処法まとめ】

GAS初心者がSearch Console API連携に挑戦してわかったこと【エラーと対処法まとめ】

Index

Google Apps Script(以下GAS)を使って、Search Consoleのデータをスプレッドシートに自動で出力したい――。
そう思い立って始めた作業でしたが、認証やAPI設定など、普段あまり触れることのない手順に苦戦し、思っていた以上に多くの壁がありました。

この記事では、Search Console APIの取得から、データ出力までの流れをまとめつつ、つまずきやすいポイントとその対処法を、実際の体験をもとにご紹介します。

この記事を読むメリット

  • GASとSearch Console APIの基本的な連携方法がわかります
  • 初心者がつまずきがちなポイントと、その解決方法がわかります
  • API認証やOAuth設定に関する注意点を事前に把握できます

1. 最初の疑問:APIキーとOAuthの違いがわからない

まず最初につまずいたのは、「認証」の考え方でした。
Search Console APIには、OAuth 2.0による認証が必要です。APIキーでは認証が通らず、エラーが返されました。

特に混乱したのは、GASで使うトークン取得部分。

javascript
Authorization: `Bearer ${ScriptApp.getOAuthToken()}`

ここで使われるバッククォート(テンプレートリテラル)をMacで入力する方法がわからず、想定外の時間を費やしてしまいました。

補足:Macでのバッククォート入力
キーボードを「英数モード」にした状態で、
option + @ で入力できます。

2. GCPのプロジェクトが自動で作成されていたことに気づかなかった

Apps ScriptからSearch Console APIを呼び出すためには、GCP(Google Cloud Platform)で作成したプロジェクトと連携させる必要があります

ところが、GASエディタからリンクされているプロジェクトは、自動で割り当てられているケースもあり、GASエディタが自動的に作成する「デフォルトのGCPプロジェクト」は、Google Cloud ConsoleからAPIの有効化やOAuth同意画面の設定ができません。
そのため、自分で新しいプロジェクトを作成し、GASと関連付ける必要があります。

このままではAPIの有効化ができず、認証で止まってしまいます。

対応方法:

  • Google Cloud Consoleで新しいプロジェクトを自分で作成する
  • GASエディタの[プロジェクトの設定]画面から、そのプロジェクト番号を連携する

3. OAuth同意画面で「テストユーザー」を追加していなかった

OAuthの同意画面を「テスト中」のままにしていた場合、明示的に“テストユーザー”として追加したGoogleアカウントでしか認証ができません

これを忘れていたため、以下のようなエラーが発生しました。

アクセスをブロック:Search ConsoleデータはGoogleの審査プロセスを完了していません
エラー 403: access_denied

対応方法:

  • [OAuth同意画面] > [対象] タブから、該当のGoogleアカウント(例:xxxxx@gmail.com)を「テストユーザー」として追加する

OAuth 同意画面でテストユーザーを追加したあとも、APIを正しく動かすには以下のスコープを明示的に設定する必要があります。
設定場所は「OAuth同意画面の“スコープを追加”」または、GASの appsscript.json ファイルの oauthScopes に記述します。

  • https://www.googleapis.com/auth/webmasters.readonly(Search Console の読み取り権限)
  • https://www.googleapis.com/auth/spreadsheets(スプレッドシート操作権限)
  • https://www.googleapis.com/auth/script.external_request(外部リクエスト送信権限)

これら3つの権限を追加しておくことで、403エラーなどの認可関連のトラブルを未然に防げます。

4. 実行結果:ようやくデータが出力されました

設定を一通り見直し、OAuth認証が正常に通るようになったところで、ようやくスプレッドシートにSearch Consoleのデータが出力されました。

表示されたのは以下のような項目です:

  • クエリ
  • クリック数
  • 表示回数
  • CTR(クリック率)
  • 掲載順位

思わず「やった……!」と声が出た瞬間でした。

学びと振り返り

今回のプロセスで感じたのは、「コードを書くこと」より「設定を理解すること」の方がはるかに難しいという点です。

特に重要なチェックポイント:

  • GCPのプロジェクトは自分で作成し、GASと関連付けること
  • Search Console APIを有効化すること
  • OAuth同意画面でテストユーザーを設定すること
  • ScriptApp.getOAuthToken()の記述はテンプレートリテラルで囲むこと(バッククォート)

これから取り組む方へのメッセージ

GASとSearch Console APIの連携は、一度設定してしまえば非常に便利ですが、初心者にとっては「非コード部分」で戸惑うことが多いと感じました。

わからなくても焦らず、一つひとつ確認しながら進めることが何より大切です。

もしつまずいたら、この記事や公式ドキュメント、そしてChatGPTなどの支援を活用して乗り越えていきましょう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

To Page Top