第1回 GSCデータ自動取得の準備|Google CloudとBigQueryの初期設定

スポンサーリンク
AIエージェント実装
スポンサーリンク

Search Consoleのデータを毎日確認するだけなら、管理画面を開いて数値を見る方法でも対応できます。しかし、複数サイトのデータを継続して蓄積し、後からAIや分析ツールで比較するには、手作業によるCSV保存では限界があります。

本シリーズでは、4サイト分のGoogle Search Consoleデータを毎朝自動取得し、BigQueryへ蓄積する仕組みをGoogle Cloud上に構築します。最終的には、蓄積したデータをGemini Sparkが読みやすい形に整え、検索流入の変化や改善候補を分析できる状態を目指します。

第1回となるこの記事では、Pythonコードを書く前の準備として、Google Cloudプロジェクトの作成、必要なAPIの有効化、サービスアカウント、Search Consoleの権限、BigQueryデータセットとIAM設定までを行います。

スポンサーリンク
  1. この記事で完成する状態
  2. シリーズ構成
  3. Google Cloudプロジェクトを作成する
    1. 1. Google Cloud Consoleを開く
    2. 2.新しいプロジェクトの作成画面を開く
    3. 3.プロジェクト情報を入力する
    4. 4.プロジェクトを作成する
  4. Search Console APIを有効化する
    1. 1. APIライブラリを開く
    2. 2. Search Console APIを検索する
    3. 3. APIを有効にする
  5. サービスアカウントを作成する
    1. 1.サービスアカウント画面を開く
    2. 2.サービスアカウントを作成する
    3. 3.権限ややアクセス権じは設定はしない
  6. Search Consoleへサービスアカウントを試験追加する
    1. 1.Google Search Consoleを開く
    2. 2.対象プロパティを選択する
    3. 3.ユーザー管理画面を開く
    4. 4.サービスアカウントを追加する
  7. 各プロパティの種類を確認する
  8. Cloud Run Admin APIを有効化する
    1. 1.Google Cloud Consoleを開く
    2. 2.APIライブラリを開く
    3. 3.正しいAPIを選ぶ
    4. 4.有効化する
    5. 5.請求先アカウントを作成する
    6. 6.請求先アカウントとプロジェクトをリンクさせる
  9. Cloud Run Admin APIを有効化する
    1. 1.Cloud Run Admin APIの画面を開く
    2. 2.「有効にする」を押す
  10. Artifact Registry APIを有効化する
    1. 1.対象プロジェクトを確認
    2. 2.APIライブラリを検索する
    3. 3.正しいAPIを選択し有効化してください。
  11. Cloud Build APIを有効化する
    1. 1.対象プロジェクトを確認
    2. 2.APIライブラリを検索する
    3. 3.有効化する
  12. BigQuery APIを確認する
    1. 1.対象プロジェクトを確認
    2. 2.APIライブラリを検索する
  13. BigQueryデータセットを作成する
    1. 1.BigQueryを開く
    2. 2.対象プロジェクトを表示する
    3. 3.設定内容
  14. サービスアカウントへBigQuery権限を付ける
    1. 1.blog_analytics のメニューを開く
    2. 2.プリンシパルを追加し、ロールを設定する。
  15. BigQuery ジョブユーザーを付与する
    1. IAM画面を開く
  16. 第1回のまとめ

この記事で完成する状態

  • 自動取得用のGoogle Cloudプロジェクトが作成されている
  • Search Console APIやCloud Run関連APIが有効になっている
  • Cloud Run実行用サービスアカウントが作成されている
  • 4サイトのSearch ConsoleプロパティをAPIから読める
  • BigQueryデータセットへ書き込むための権限が設定されている

シリーズ構成

Google Cloudプロジェクトを作成する

今回作るのは、GSC専用ではなく、将来のGA4・AdSense連携までまとめて管理するプロジェクトです。

1. Google Cloud Consoleを開く

次のGoogle Cloud公式画面を開いてください。

Googleアカウントの選択を求められた場合は、Googe Search Consoleのサービスを管理しているアカウントでログインしてください。

他にもGoogleドライブなどにもアクセスするのでできればすべてに共通する同一アカウントのほうが、最初の構築の権限設定で混乱しにくいです。

2.新しいプロジェクトの作成画面を開く

Google Cloud Console上部にある、現在のプロジェクト名が表示されている部分をクリックします。

そうするとPOPアップが出るので右上の新しいプロジェクトをクリックしてください。

3.プロジェクト情報を入力する

次の内容を入力してください。

プロジェクト名:Blog Analytics Platform
プロジェクトID:lennonsoft-blog-analytics
親リソース:組織なし

会社のGoogle Workspaceアカウントを使っている場合は、会社の組織名が表示されることがあります。今回は個人ブログの検証基盤として始めるため、個人アカウントで作る方が管理しやすいです。

プロジェクト名とプロジェクトIDについて

プロジェクト名は後から変更できますが、プロジェクトIDは作成後に変更できません。

プロジェクトIDは、今後Cloud RunやBigQueryの設定、コマンド、URLなどで使用します。短すぎる名前や、GSCだけを表す名前は避けます。

また、プロジェクト番号という数字も自動的に発行されます。これはプロジェクトIDとは別物です。

プロジェクト名:人が見る名称
プロジェクトID:システムで使用する変更不可のID
プロジェクト番号:Googleが自動発行する数字

今後、基本的に使用するのはプロジェクトIDです。

4.プロジェクトを作成する

入力内容を確認して、をクリックしてください。作成後、画面上部の選択中のプロジェクトが、Blog Analytics Platformになっているか確認してください。

別のプロジェクトが表示されている場合は、プロジェクト名をクリックして、今作ったプロジェクトへ切り替えてください。

Search Console APIを有効化する

引き続きGoogle Cloud Consoleで作業をしていきます。選択中のプロジェクトがBlog Analytics Platformになっていることを確認してください。

1. APIライブラリを開く

左上の三本線メニューから進み、APIとサービス→ライブラリと選んでください。

2. Search Console APIを検索する

APIライブラリ画面上部の検索欄に次を入力します。

Google Search Console API

3. APIを有効にする

検索結果が表示されたらAPI詳細画面(ライブラリをクリック)して、有効にするをクリックします。

サービスアカウントを作成する

サービスアカウントは、人がログインするGoogleアカウントではなく、Cloud Runから自動処理を実行するための専用アカウントです。Search Console APIはサービスアカウントによるOAuth認証に対応しています。

1.サービスアカウント画面を開く

左上の三本線メニューから進みます。IAMと管理→サービスアカウントと選んでください。

見つからない場合は、画面上部の検索欄に次を入力してください。

2.サービスアカウントを作成する

サービスアカウントが開いたら、画面上部の次のサービス アカウントを作成ボタンをクリックします。

作成画面では次のように入力してください。

サービスアカウント名:Blog Analytics Runner
サービスアカウントID:blog-analytics-runner(自動入力)
説明:GSC、GA4、AdSenseのデータを定期取得するCloud Run実行用アカウント

入力すると、メールアドレスが自動生成されます。

blog-analytics-runner@lennonsoft-blog-analytics.iam.gserviceaccount.com

入力後、「作成して続行」をクリックします。

3.権限ややアクセス権じは設定はしない

権限もアクセス権を持つプリンシパルも設定をせずそのまま完了を押してください。

権限について

後からBigQuery、Cloud Run、Google Driveなどに必要な権限だけを個別に付与します。最初から「オーナー」や「編集者」を付けるのは権限が強すぎるため避けます。

Search Consoleへサービスアカウントを試験追加する

今回は私が管理しているlennonsoft.comの情報を収集するとして進めていきます。皆さんは自分のサイトに置き換えてみてください。

1.Google Search Consoleを開く

Google Search Consoleのサイトへアクセスします。Search Consoleを管理しているGoogleアカウントでログインしてください。

2.対象プロパティを選択する

画面左上のプロパティ選択欄をクリックし、lennonsoft.com のプロパティを選びます。

3.ユーザー管理画面を開く

左側メニューの下部 設定→ユーザーと権限と進めてください。

※この項目が表示されない場合、ログイン中のアカウントがそのプロパティの所有者ではない可能性があります。ユーザーを追加できるのは所有者だけです。

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

画面上のユーザーを追加ボタンを押してください。

そうすると画面がポップアップするので下記のように入れてください。

ここに入れるメールアドレスは先ほどGoogle Cloud Consoleで自動設定されたメールアドレスです。

blog-analytics-runner@lennonsoft-blog-analytics.iam.gserviceaccount.com

権限は、選べる場合は「制限付き」を選んでください。

今回は検索パフォーマンスデータの読み取りだけが目的なので、所有者権限は不要です。API側でも読み取り専用スコープを使用する予定です。

その後、追加をクリックしてください。

各プロパティの種類を確認する

Search Console APIでは、画面に登録されているプロパティ文字列を完全一致で指定する必要があります。httpswwwの有無、末尾のスラッシュまで区別されるため、ドメイン名から推測せず、Search Console上の表示を確認してください。

私が管理する4つのサイトのAPIで指定するsiteUrlは下記のようになっていました。詳しくはGoogle Search Consoleで確認してください。

site_idAPIで指定するsiteUrl
hytale_labhttps://hytale-lab.com/
lennonsofthttps://lennonsoft.com/
ai_lennonsofthttps://ai.lennonsoft.com/
witcher4https://witcher4.net/

Cloud Run Admin APIを有効化する

次は、Pythonの取得処理を実行するCloud Run Jobsの準備です。今回はAPIを1つ有効化するだけです。

1.Google Cloud Consoleを開く

画面上部のプロジェクトが「Blog Analytics Platform」になっていることを確認してください。

2.APIライブラリを開く

左上の三本線メニューからAPIとサービス→ライブラリと選択してください。

3.正しいAPIを選ぶ

画面上部の検索窓からCloud Run Admin APIを検索し選択してください。

「Cloud Run」と似た名前の項目が複数出ることがありますが、今回は「Cloud Run Admin API」です。これはCloud Runのサービスやジョブを作成・管理するためのAPIです。

4.有効化する

正しいAPIを選択できたら有効にするボタンを押してください。

そうすると課金アカウントを持っていない場合はこんなメッセージがポップアップされます。

5.請求先アカウントを作成する

請求先アカウントのリンクを求められた場合は、課金を有効にするをクリックします。そうするとおそらく次のようなメッセージが出ます。

次に請求先アカウントを管理をクリックしてください。

そうすると請求先アカウントの管理画面に遷移するので+アカウント作成をおして請求先アカウント作成画面に進みます。

新しい請求先アカウントの作成では下記のように入力をして続行ボタンを押してください。名前は自分のわかりやすいようにしておきましょう。

Googleで課金をしている人は自動的に課金設定がでてきますので送信して課金を有効にするボタンを押せば完了です。

6.請求先アカウントとプロジェクトをリンクさせる

次に今作った請求先アカウントと自分のプロジェクトをリンクさせていきましょう。

まずは「自分のプロジェクト」タブを開き、Blog Analytics Platformの一番右側の三点メニューをクリックしてください。

請求先アカウントのリストに今作成した請求先アカウントが表示されるのでそれを選んで、アカウントを設定ボタンを押してください。

Cloud Run Admin APIを有効化する

Cloud Run Jobsを作成・管理するため、Cloud Run Admin APIを有効化します。引き続きGoogle Cloud ConsoleでプロジェクトBlog Analytics Platformの設定になっていることを確認してください。

1.Cloud Run Admin APIの画面を開く

画面左上の三本線メニューからAPIとサービスライブラリと選んで、上部検索窓からCloud Run Admin APIを検索してください。

2.「有効にする」を押す

Cloud Run Jobsの利用には、プロジェクトで課金が有効になっていることと、Cloud Run Admin APIの有効化が必要ですが、今回は請求先がリンクされているので有効化できるはずです。

Artifact Registry APIを有効化する

Cloud RunへPythonコードを直接デプロイすると、内部でコンテナイメージが作成され、Artifact Registryに保存されます。

1.対象プロジェクトを確認

Google Cloud Console上部で、引き続きBlog Analytics Platformプロジェクトが選択されていることを確認してください。

2.APIライブラリを検索する

左上の三本線メニューからAPIとサービスライブラリと進み、上部検索窓からArtifact Registry APIを検索してください。。

3.正しいAPIを選択し有効化してください。

検索結果から、正しいAPIを選択してください。似た名前の「Container Registry」は古い別サービスなので、今回は選びません。

選択したら、「有効にする」をクリックしてください。

Cloud Build APIを有効化する

次は、PythonコードをCloud Run用にビルドするためのAPIを有効化します。

Cloud Runへソースコードからデプロイする場合、Cloud BuildがPythonコードをコンテナイメージに変換し、そのイメージをArtifact Registryへ保存します。

1.対象プロジェクトを確認

Google Cloud Console上部で、引き続きBlog Analytics Platformプロジェクトが選択されていることを確認してください。

2.APIライブラリを検索する

左上の三本線メニューからAPIとサービスライブラリと進み、上部検索窓から Cloud Build APIを検索してください。。

3.有効化する

検索結果から、 Cloud Build APIを開いて、「有効にする」をクリックしてください。

BigQuery APIを確認する

新しいGCPプロジェクトでは、BigQuery APIが最初から有効になっている場合があります。無効なら有効にします。

1.対象プロジェクトを確認

Google Cloud Console上部で、引き続きBlog Analytics Platformプロジェクトが選択されていることを確認してください。

2.APIライブラリを検索する

左上の三本線メニューからAPIとサービスライブラリと進み、上部検索窓から BigQuery APIを検索して有効化してください。

検索結果から、名前がそのまま次になっているものを選びます。

「BigQuery Connection API」「BigQuery Data Transfer API」は別の機能なので、今回は選びません。

BigQueryデータセットを作成する

今回は、GSC・GA4・AdSenseの元データをまとめて保存する入れ物だけ作ります。テーブルはまだ作りません。

1.BigQueryを開く

左上の三本線メニューからBigQueryを選んでください。そして画面上部のプロジェクトがBlog Analytics Platformになっていることを確認します。

2.対象プロジェクトを表示する

左側の「エクスプローラ」で、次のlennonsoft-blog-analyticsを探します。

lennonsoft-blog-analytics の右側にある縦三点メニューをクリックし、データセットを作成を選択します。

3.設定内容

データセットの作成が開いたら下記のように入力をしてください。

データセットID:blog_analytics
データのロケーション:東京(asia-northeast1)

詳細オプションに関しては特に変更なしです。その後、データセットを作成ボタンを押してください。

こんな感じに画面がなっていたらOkです。

サービスアカウントへBigQuery権限を付ける

Cloud Runからこのデータセットへ書き込めるようにします。権限は必要最小限に分けます。

今回は、まずデータセット側の書き込み権限だけを設定します。引き続きGoogle CloudのBigQuery画面で作業を続けます。

1.blog_analytics のメニューを開く

画像にある blog_analytics の右側の縦三点メニューをクリックしてください。

その中から、共有を選んでください。

2.プリンシパルを追加し、ロールを設定する。

「プリンシパルを追加」をクリックします。

アクセス権付与の画面になったら、プリンシパルの追加に先ほどGoogle Cloud Consoleで自動設定で設定したアドレスを入れてください。

blog-analytics-runner@lennonsoft-blog-analytics.iam.gserviceaccount.com

ロールは「BigQuery データ編集者」を選択してください。

設定後、「保存」を押してください。

BigQuery ジョブユーザーを付与する

IAM画面を開く

Google Cloud Console左上の三本線メニューからIAMと管理IAMと進んでください。

次に左上の青い「アクセスを許可」をクリックしてください。

その後、次の画像のように入力します。

新しいプリンシパル:blog-analytics-runner@lennonsoft-blog-analytics.iam.gserviceaccount.com
ロール:BigQuery ジョブユーザー

入力が完了したら最後に「保存」を押します。

第1回のまとめ

ここまでで、GSCデータをクラウド上から取得し、BigQueryへ保存するための受け皿と権限設定が整いました。この段階ではデータ取得はまだ始まりません。

次回はCloud Shell上にPythonプロジェクトを作成し、Search Console APIから4サイトのデータを取得してBigQueryへ保存する処理を実装します。

第2回:PythonでGSC APIデータを取得しBigQueryへ保存する

コメント