Google 服务账号设置

创建 Google 服务账号,启用 Search Console 和 Analytics API,并将 JSON 密钥连接到 1MarketingTool。

当你希望 1MarketingTool 读取 Search Console 和 GA4 数据而无需通过个人 Google 账号登录时,请使用 Google 服务账号。

你可以选择快速的 Cloud Shell 流程,也可以按照手动的 Google Cloud Console 步骤操作。

使用 Cloud Shell 快速设置

Open Cloud Shell

Cloud Shell 在浏览器中运行,已登录你的 Google 账号。打开 Cloud Shell,粘贴脚本,按回车,完成后 key.json 会自动下载。然后在 1MarketingTool 中使用"导入 JSON"加载下载的密钥并保存。

set -e
PROJECT_ID=$(gcloud config get-value project 2>/dev/null)
if [ -z "$PROJECT_ID" ]; then
  PROJECT_ID="marketing-tool-$RANDOM$RANDOM"
  gcloud projects create "$PROJECT_ID" --set-as-default
fi
gcloud services enable iam.googleapis.com searchconsole.googleapis.com analyticsadmin.googleapis.com \
  analyticsdata.googleapis.com indexing.googleapis.com --project "$PROJECT_ID"
SA_EMAIL="marketing-tool@$PROJECT_ID.iam.gserviceaccount.com"
gcloud iam service-accounts create marketing-tool --display-name "1MarketingTool" --project "$PROJECT_ID" || true
echo "Waiting for the service account to be ready..."
for i in $(seq 1 30); do
  gcloud iam service-accounts describe "$SA_EMAIL" --project "$PROJECT_ID" >/dev/null 2>&1 && break
  sleep 2
done
rm -f key.json
gcloud iam service-accounts keys create key.json --iam-account "$SA_EMAIL" --project "$PROJECT_ID"
cloudshell download key.json
echo "Grant read access in Search Console and GA4 to: $SA_EMAIL"

注意事项

  • 如果 Search Console 或 GA4 数据没有立即显示,请稍等片刻后重试。Google 权限可能需要几分钟才能生效。
  • 一个服务账号可以添加到任意数量的 Search Console 和 GA4 媒体资源中,然后在 1MarketingTool 中按项目映射。
  • 如果你在 Google Cloud 中轮换或删除了 JSON 密钥,请在应用中导入新密钥。
  • 请安全存储 JSON 密钥,不要将其提交到版本控制系统。