GA4とSearch ConsoleをClaude Codeに読ませるで、GA4とSearch ConsoleをAPIで読むスクリプトを作りました。
Google Cloud側の準備は私がブラウザで行いました。

広告

準備の手順

1. Google Cloud Consoleでプロジェクトを作る

https://console.cloud.google.com/ を開いて、上部のプロジェクト選択から「新しいプロジェクト」。
作ったあとの選択画面です。左上に「xxx-org」という組織が出ていますが、これは後で効いてきます。

プロジェクトの選択画面
プロジェクトの選択画面

2. APIを2つ有効にする

「APIとサービス」の検索でGoogle Analytics Data APIが出てきませんでした。Google Analytics Admin APIは別物です。
ライブラリのURLを直接開いて「有効にする」を押しました。

Google Analytics Data API: https://console.cloud.google.com/apis/library/analyticsdata.googleapis.com
Google Search Console API: https://console.cloud.google.com/apis/library/searchconsole.googleapis.com

3. サービスアカウントを作って、鍵をダウンロードする

「IAMと管理」→「サービスアカウント」→「サービスアカウントを作成」。名前は何でもよくて、権限は空のまま「完了」。

サービスアカウントの作成画面
サービスアカウントの作成画面

作ったサービスアカウントを開いて「鍵」タブ→「キーを追加」→「新しい鍵を作成」→JSON。
ここで、この表示で止まりました。

鍵の作成がブロックされた画面
鍵の作成がブロックされた画面

「サービス アカウント キーの作成をブロックする組織ポリシーが組織に適用されています。」

外し方は次の節で。鍵(JSON)がダウンロードできたら、スクリプトと同じフォルダに置きます。

4. GA4にサービスアカウントを追加する

GA4の「管理」→「プロパティのアクセス管理」→「+」→「ユーザーを追加」。
サービスアカウントのメールアドレス(xxx@xxx.iam.gserviceaccount.com)を入れて、役割は「閲覧者」。

GA4の役割とデータ制限の追加画面。閲覧者を選んだところ
GA4の役割とデータ制限の追加画面。閲覧者を選んだところ

5. Search Consoleにも追加する

Search Consoleの「設定」→「ユーザーと権限」→「ユーザーを追加」。同じメールアドレスで、権限は「フル」。

鍵が作れなかった原因

私の環境では、個人のgmailでGoogle Cloud Consoleを初めて使ったときに、「xxx-org」という組織ができていました。
手順1の選択画面の左上に出ていたのがそれです。

仕様としては、公式ドキュメントに、新しく無料トライアルを始めたアカウントには、Google WorkspaceやCloud Identityがなくても「スタンドアロン組織」が自動で作られる、とあります。名前は「ユーザー名-org」で、作った本人が組織の管理者になります。
さらに別のドキュメントに、2024年5月3日以降に作られた組織には「サービスアカウント キーの作成を無効化」を含む既定の組織ポリシーが最初から適用される、とあります。
なので、個人アカウントでも同じ所で止まります。自分がその組織の管理者なので、自分で外せます。

外し方

1. 組織のIAMで、自分に「組織ポリシー管理者」を付ける

組織のポリシーを触る権限は、プロジェクトではなく組織に付けます。
「IAMと管理」→「IAM」を開くと、最初はプロジェクトの権限が出ます。見出しが「プロジェクト「My First Project」の権限」になっているのがそれです。
組織の画面に移るには、画面上部のプロジェクト選択を開いて、「すべて」タブで組織(xxx-org)をクリックします。
下の画面のように、表の右端「継承」列に組織名のリンクが出ていれば、それを押しても同じ画面に行けます。

プロジェクトのIAM画面。右端の継承列に組織名のリンク
プロジェクトのIAM画面。右端の継承列に組織名のリンク

見出しが「組織「xxx-org」に対する権限」に変わったら、組織の画面です。
そこで「アクセスを許可」→自分のメールアドレス→ロール「組織ポリシー管理者」→保存。
付けたあとの画面です。自分の行に「組織ポリシー管理者」が入っています。

組織のIAM画面。自分の行に組織ポリシー管理者が付いた状態
組織のIAM画面。自分の行に組織ポリシー管理者が付いた状態

反映に1〜2分かかります。

2. プロジェクトで、ポリシーを上書きする

プロジェクトに戻って「IAMと管理」→「組織のポリシー」。
フィルタに「サービス アカウント キー」と入れると「サービス アカウント キーの作成を無効化」(英語名 Disable service account key creation。制約IDは iam.managed.disableServiceAccountKeyCreation)が出ます。
開いて「ポリシーを管理」→「親のポリシーをオーバーライド」→「ルールを追加」→適用を「オフ」→「ポリシーを設定」。
「Googleのデフォルト値」は、既定が禁止なので選んでも変わりません。

3. 待つ

私

まだでる。待たないといけないのか。

反映まで数分、長いと15分かかります。
鍵の画面を再読み込みして、ブロックの表示が消えたら「キーを追加」から作れます。

ついでにハマったところ

「無料トライアル」という表示があったのと、クレカの登録が必要だったので、APIの利用がトライアル以降はお金がかかるのか?と思いましたが
GA4とGoogle Search Consoleは無料で提供されているとのこと。
クレカの登録は本人確認のため、と表示がありました。