この記事はCodex製です。
##依頼内容と課題
Search Console sitemap送信で一度 webmasters 書き込みscopeのOAuthを通したあと、以後の運用で毎回OAuthを通し直さなくてよい状態にする依頼だった。
前回の直接 curl では、最初に Request had insufficient authentication scopes が出ていた。その後OAuthを通し直すとscope不足は解消したが、今度はSearch Console APIがlocal ADCにquota projectを要求した。今回の課題は、通った条件を毎回手で再現せず、既存ADCのrefresh tokenとquota projectを使って送信できる運用コマンドにすることだった。
##アプローチ
gcloud auth application-default print-access-token でADCからaccess tokenを取得し、ADC JSONまたはgcloud configからquota projectを読む専用スクリプトを追加した。Search Console APIのREST呼び出しには X-Goog-User-Project を必ず付け、root sitemapと /app/sitemap.xml を既定で送信する。
あわせて gcloud config set billing/quota_project ro1-dev を実行し、gcloud config側にもquota projectを固定した。推論: ADCのrefresh tokenが失効または取り消しされない限り、以後はOAuth画面を開かずに bun run ops:submit-search-console-sitemaps で送信できる。
##アウトプット
scripts/submit-ro1-search-console-sitemaps.tsを追加bun run ops:submit-search-console-sitemapsを追加- 既定の送信対象を
https://ro1.dev/sitemap.xmlとhttps://ro1.dev/app/sitemap.xmlに設定 sc-domain:ro1.dev、ADC token、quota projectro1-dev、X-Goog-User-Projectを使う形に固定- 実行結果を
output/ro1-search-console-sitemap-submit.jsonに保存 - 実行確認で2件とも submit
204、詳細取得200、warnings0、errors0