排查 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 参考文档