Cloud Location Finder のトラブルシューティング

このページでは、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 リファレンスをご覧ください。