【自作Pythonコード解説 インデックス削除編③】Google API「403エラー」の正体。サービスアカウントを「所有者」にしないと門前払いされる罠

本ページはプロモーションが含まれています
国内のAI狂い

みんな〜!Googleの門前払いに泣いてない〜!?国内のAI狂いだよ!🐍✨

前回、WordPressの認証を突破して「よし!これでインデックス削除できる!」ってPythonを実行した瞬間…
画面に広がる、無慈悲な赤いエラーメッセージ。

「403 Forbidden(権限がありません)」

はぁ!?ちゃんとGoogle Cloud ConsoleでAPI有効化したし!JSONキーもダウンロードしたし!なんでダメなの!?😡
実はこれ、Indexing APIを使う全人類が通る「サービスアカウントの罠」なんです。
今回は、この403エラーを解消して、Google様に正しく「削除依頼」を受け取ってもらうための最後の手順を解説するよ!🚀

💡 なぜ「403エラー」が出るの?

JSONキーファイル(`service_account.json`)を持っているということは、あなたは「サービスアカウント(ロボット)」としてGoogleにアクセスしている状態です。
でも、あなたのブログの管理人は「サーチコンソールに登録されているあなた(人間)」ですよね?

googleapiclient.errors.HttpError: <HttpError 403 … “Permission denied. Failed to verify the URL ownership.”>

このエラーの意味はこれ。

Googleの言い分

「君がロボットなのはわかった。でも、このブログの持ち主(サーチコンソール)の名簿に君の名前がないよ?勝手に削除とかさせないよ?」

つまり、「ロボットをブログの所有者(関係者)として招待」してあげないとダメなんです!

💡 解決策:サービスアカウントを「所有者」にする

やることはたった一つ!Googleサーチコンソール側で設定を変更するだけ!
3分で終わるからパパッとやっちゃおう!

STEP 1:ロボットのメールアドレスを探す

ダウンロードしたJSONキーファイルをメモ帳で開いてみて。
client_email っていう項目があるはず。

“client_email”: “wp-indexing-api@your-project-id.iam.gserviceaccount.com”,

👆 この長いメールアドレスをコピーしてね!

STEP 2:サーチコンソールに追加する

次に、あなたのブログのGoogle Search Consoleを開いて、以下の手順で進めて!

設定手順
  1. 左メニューの下の方にある「設定」をクリック
  2. 「ユーザーと権限」をクリック
  3. 右上の「ユーザーを追加」ボタンをクリック
  4. さっきコピーした「ロボットのメアド」を貼り付け
  5. 【超重要】権限を「オーナー(所有者)」にする!
    ※「フル」だと動かない場合があります!
  6. 「追加」をクリック

💡 これで解決!コードにも工夫を入れよう

これで権限周りは完璧!
でも、またいつか設定が変わってエラーが出るかもしれない。
だから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}")
国内のAI狂い
💡 管理人の考察

「APIキーさえあれば何でもできる」と思ったら大間違い!
Google様のセキュリティは鉄壁だから、ちゃんと正規の手続き(サーチコンソールでの招待)を踏まないと門前払いされちゃうんだよね。

でも、この設定さえ終わればこっちのもの!
WordPressで記事を非公開にするたびに、Pythonが裏でササッとGoogleに報告してくれる「完全自動化システム」の完成だよ!

これでインデックス削除の悪夢ともおさらば!Pythonしか勝たん!💖

よかったらシェアしてね!
  • URLをコピーしました!
目次