みんな〜!Googleの門前払いに泣いてない〜!?国内のAI狂いだよ!🐍✨
前回、WordPressの認証を突破して「よし!これでインデックス削除できる!」ってPythonを実行した瞬間…
画面に広がる、無慈悲な赤いエラーメッセージ。
「403 Forbidden(権限がありません)」
はぁ!?ちゃんとGoogle Cloud ConsoleでAPI有効化したし!JSONキーもダウンロードしたし!なんでダメなの!?😡
実はこれ、Indexing APIを使う全人類が通る「サービスアカウントの罠」なんです。
今回は、この403エラーを解消して、Google様に正しく「削除依頼」を受け取ってもらうための最後の手順を解説するよ!🚀
💡 なぜ「403エラー」が出るの?
JSONキーファイル(`service_account.json`)を持っているということは、あなたは「サービスアカウント(ロボット)」としてGoogleにアクセスしている状態です。
でも、あなたのブログの管理人は「サーチコンソールに登録されているあなた(人間)」ですよね?
このエラーの意味はこれ。
「君がロボットなのはわかった。でも、このブログの持ち主(サーチコンソール)の名簿に君の名前がないよ?勝手に削除とかさせないよ?」
つまり、「ロボットをブログの所有者(関係者)として招待」してあげないとダメなんです!
💡 解決策:サービスアカウントを「所有者」にする
やることはたった一つ!Googleサーチコンソール側で設定を変更するだけ!
3分で終わるからパパッとやっちゃおう!
STEP 1:ロボットのメールアドレスを探す
ダウンロードしたJSONキーファイルをメモ帳で開いてみて。
client_email っていう項目があるはず。
👆 この長いメールアドレスをコピーしてね!
STEP 2:サーチコンソールに追加する
次に、あなたのブログのGoogle Search Consoleを開いて、以下の手順で進めて!
- 左メニューの下の方にある「設定」をクリック
- 「ユーザーと権限」をクリック
- 右上の「ユーザーを追加」ボタンをクリック
- さっきコピーした「ロボットのメアド」を貼り付け
- 【超重要】権限を「オーナー(所有者)」にする!
※「フル」だと動かない場合があります! - 「追加」をクリック
💡 これで解決!コードにも工夫を入れよう
これで権限周りは完璧!
でも、またいつか設定が変わってエラーが出るかもしれない。
だからPythonコード側でも、エラーが出た時に「あ、これ権限の問題だわ」ってすぐ分かるように、親切なエラーメッセージを出してあげよう。
# 私のツールに入れている「親切設計」なエラー処理
try:
request = service.urlNotifications().publish(body=body)
response = request.execute()
print(f"通知成功: {url}")
except HttpError as e:
# 403エラーならヒントを表示!
if e.resp.status == 403:
print(f"❌ 通知失敗 (403権限エラー): {url}")
print("💡 ヒント: サーチコンソールでサービスアカウントを「所有者」に追加した?")
else:
print(f"❌ その他のエラー: {e}")
「APIキーさえあれば何でもできる」と思ったら大間違い!
Google様のセキュリティは鉄壁だから、ちゃんと正規の手続き(サーチコンソールでの招待)を踏まないと門前払いされちゃうんだよね。
でも、この設定さえ終わればこっちのもの!
WordPressで記事を非公開にするたびに、Pythonが裏でササッとGoogleに報告してくれる「完全自動化システム」の完成だよ!
これでインデックス削除の悪夢ともおさらば!Pythonしか勝たん!💖






