GA4とSearch ConsoleのAPIを使うためのGoogle Cloudの準備
私の経験に基づく記録ですので、これを推奨するものでも、動作を保証するものでもありません。あくまでも参考情報としてご覧ください。
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)を入れて、役割は「閲覧者」。

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)をクリックします。
下の画面のように、表の右端「継承」列に組織名のリンクが出ていれば、それを押しても同じ画面に行けます。

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

反映に1〜2分かかります。
2. プロジェクトで、ポリシーを上書きする
プロジェクトに戻って「IAMと管理」→「組織のポリシー」。
フィルタに「サービス アカウント キー」と入れると「サービス アカウント キーの作成を無効化」(英語名 Disable service account key creation。制約IDは iam.managed.disableServiceAccountKeyCreation)が出ます。
開いて「ポリシーを管理」→「親のポリシーをオーバーライド」→「ルールを追加」→適用を「オフ」→「ポリシーを設定」。
「Googleのデフォルト値」は、既定が禁止なので選んでも変わりません。
3. 待つ
まだでる。待たないといけないのか。
反映まで数分、長いと15分かかります。
鍵の画面を再読み込みして、ブロックの表示が消えたら「キーを追加」から作れます。
ついでにハマったところ
「無料トライアル」という表示があったのと、クレカの登録が必要だったので、APIの利用がトライアル以降はお金がかかるのか?と思いましたが
GA4とGoogle Search Consoleは無料で提供されているとのこと。
クレカの登録は本人確認のため、と表示がありました。