GoogleのIndexing APIを使って開発中によく遭遇するエラーの説明と、発生したときの対処方法をまとめておきます。 リクエスト数オーバーはページ数が多いとどうしても発生してしまうので、上手にキャッチする必要があります。
Permission denied. Failed to verify the URL ownership.
このエラーは主にプログラム開発中や環境構築時に発生するものです。一度正しく設定ができてしまえば基本的には発生しません。
ステータス
403
PERMISSION_DENIED
エラーメッセージ
Permission denied. Failed to verify the URL ownership.
原因
Googleのプロジェクトで登録したサービスアカウントが、サーチコンソールのオーナーになっていない。
対応方法
サービスアカウントのメールアドレスをサーチコンソールのオーナーとして登録します。サービスアカウントのメールアドレスは、xxx@yyy.iam.gserviceaccount.com の形式です。
利用する認証ファイル(JSONファイル)に記載されています。
エラーの構造
{
"error": {
"code": 403,
"message": "Permission denied. Failed to verify the URL ownership.",
"errors": [
{
"message": "Permission denied. Failed to verify the URL ownership.",
"domain": "global",
"reason": "forbidden"
}
],
"status": "PERMISSION_DENIED"
}
}
indexing API has not been used in project 362085352113 before or it is disabled.
このエラーは主にプログラム開発中や環境構築時に発生するものです。一度正しく設定ができてしまえば基本的には発生しません。
ステータス
403
PERMISSION_DENIED
エラーメッセージ
indexing API has not been used in project 362085352113 before or it is disabled.
原因
Googleのプロジェクトで、Indexing APIが有効になっていないため。(もしくは、誤ってプロジェクトのAPI設定を無効にしてしまった)
対応方法
対象のプロジェクトでIndexing APIを有効にする。 利用しているプロジェクトが誤っている場合は、正しいプロジェクト(プロジェクトから出力したJSON認証ファイル)を使っているか再確認する。 エラーメッセージに含まれる数値(362085352113 )はGoogle APIのプロジェクト番号です

エラーの構造
{
"error": {
"code": 403,
"message": "Indexing API has not been used in project 362085352113 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/indexing.googleapis.com/overview?project=362085352113 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.",
"errors": [
{
"message": "Indexing API has not been used in project 362085352113 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/indexing.googleapis.com/overview?project=362085352113 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.",
"domain": "usageLimits",
"reason": "accessNotConfigured",
"extendedHelp": "https://console.developers.google.com"
}
],
"status": "PERMISSION_DENIED",
"details": [
{
"@type": "type.googleapis.com/google.rpc.Help",
"links": [
{
"description": "Google developers console API activation",
"url": "https://console.developers.google.com/apis/api/indexing.googleapis.com/overview?project=362085352113"
}
]
},
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "SERVICE_DISABLED",
"domain": "googleapis.com",
"metadata": {
"service": "indexing.googleapis.com",
"consumer": "projects/362085352113"
}
}
]
}
}
Quota exceeded for quota metric 'Publish requests' and limit 'Publish requests per day'
ステータス
429
RESOURCE_EXHAUSTED
エラーメッセージ
Quota exceeded for quota metric 'Publish requests' and limit 'Publish requests per day' of service 'indexing.googleapis.com' for consumer 'project_number:28852618399'.
原因
Indexing APIの1日の上限を超えている。
上限の値は、プロジェクト単位にDefaultPublishRequestsPerDayPerProject で定義されています。初期状態は200です。
対応方法
件数が上限を超えたときに発生するエラーなので、以下のどちらかです。
- 1日の送信件数を数えておき、超えそうになったら送らないように作る
- エラーが発生するまで投げ続け、エラーが起きたら終了するように作る
1日の送信回数を覚えておくのは面倒なので、このエラーは発生するものとしてプログラムするのがおすすめです。
また、上限を緩和してもらうようにGoogleに依頼する方法もあります。
クオータの説明 ページ
https://developers.google.com/search/apis/indexing-api/v3/quota-pricing
エラーの構造
{
"error": {
"code": 429,
"message": "Quota exceeded for quota metric 'Publish requests' and limit 'Publish requests per day' of service 'indexing.googleapis.com' for consumer 'project_number:28852618399'.",
"errors": [
{
"message": "Quota exceeded for quota metric 'Publish requests' and limit 'Publish requests per day' of service 'indexing.googleapis.com' for consumer 'project_number:28852618399'.",
"domain": "global",
"reason": "rateLimitExceeded"
}
],
"status": "RESOURCE_EXHAUSTED",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "RATE_LIMIT_EXCEEDED",
"domain": "googleapis.com",
"metadata": {
"consumer": "projects/28852618399",
"quota_limit": "DefaultPublishRequestsPerDayPerProject",
"quota_limit_value": "30",
"quota_location": "global",
"service": "indexing.googleapis.com",
"quota_metric": "indexing.googleapis.com/v3_publish_requests"
}
},
{
"@type": "type.googleapis.com/google.rpc.Help",
"links": [
{
"description": "Request a higher quota limit.",
"url": "https://cloud.google.com/docs/quota#requesting_higher_quota"
}
]
}
]
}
}
上限の確認方法
上限の値は、GoogleのプロジェクトのQuata画面で確認できます。現在の実行数も確認できます。
https://console.cloud.google.com/apis/api/indexing.googleapis.com/quotas
「割り当て」のタブっぽいやつをクリックすると見えます。
