このページでは、Cloud Location Finder の問題を解決する方法について説明します。
API が 403 エラーを返す
次の問題は、次の場合に発生します。
Cloud Location Finder がプロジェクトで有効になっていない
{
"error": {
"code": 403,
"message": "Cloud Location Finder API has not been used in project PROJECT_ID before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/cloudlocationfinder.googleapis.com/overview?project=PROJECT_ID then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.",
"status": "PERMISSION_DENIED",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "SERVICE_DISABLED",
"domain": "googleapis.com",
"metadata": {
"activationUrl": "https://console.developers.google.com/apis/api/cloudlocationfinder.googleapis.com/overview?project=PROJECT_ID",
"serviceTitle": "Cloud Location Finder API",
"service": "cloudlocationfinder.googleapis.com",
"containerInfo": "PROJECT_ID",
"consumer": "projects/PROJECT_ID"
}
},
{
"@type": "type.googleapis.com/google.rpc.LocalizedMessage",
"locale": "en-US",
"message": "Cloud Location Finder API has not been used in project PROJECT_ID before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/cloudlocationfinder.googleapis.com/overview?project=PROJECT_ID then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry."
},
{
"@type": "type.googleapis.com/google.rpc.Help",
"links": [
{
"description": "Google developers console API activation",
"url": "https://console.developers.google.com/apis/api/cloudlocationfinder.googleapis.com/overview?project=PROJECT_ID"
}
]
}
]
}
}
この問題を解決するには、プロジェクトで Cloud Location Finder API を有効にします。手順については、クイックスタートをご覧ください。
リソースに対する権限がない
{
"error": {
"code": 403,
"message": "Permission 'cloudlocationfinder.cloudLocations.list' denied on resource '//cloudlocationfinder.googleapis.com/projects/PROJECT_ID/locations/global' (or it may not exist).",
"status": "PERMISSION_DENIED",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "IAM_PERMISSION_DENIED",
"domain": "cloudlocationfinder.googleapis.com",
"metadata": {
"resource": "projects/PROJECT_ID/locations/global",
"permission": "cloudlocationfinder.cloudLocations.list"
}
}
]
}
}
この問題を解決するには、クエリで参照するリソースを含むプロジェクトに cloudlocationfinder.viewer ロールを追加します。手順については、クイックスタートをご覧ください。
API が 400 エラーを返す
クエリが無効な場合、次の問題が発生します。
$ curl -H "Authorization: Bearer $(gcloud auth print-access-token)" 'https://cloudlocationfinder.googleapis.com/v1/projects/PROJECT_ID/locations/global/cloudLocations?filter=cloud_location_type=FAKE_LOCATION'
{
"error": {
"code": 400,
"message": "Bad usage: Invalid enum name \"FAKE_LOCATION\" for type `cloud.reliability.cloudlocationfinder.storage.CloudLocation.CloudLocationType`.",
"status": "INVALID_ARGUMENT",
"details": [
...
}
この問題を解決するには、エラー メッセージを確認します。クエリ構文と有効な構文については、REST API リファレンスをご覧ください。