排查问题

以下是排查常见问题的一些提示。

为什么精确度半径非常大?

如果您的地理定位响应在准确度字段中显示非常高的值,则表示服务可能是根据请求 IP 进行地理定位,而不是根据 Wi-Fi 点或基站进行地理定位。如果服务无法识别任何手机基站或接入点,就可能会发生这些类型的响应。

如需确认该服务无法对您的接入点进行地理定位,请在请求中将 considerIp 设置为 false。如果响应为 404,则表示您已确认无法对 wifiAccessPoints 和 cellTowers 对象进行地理定位。

如何排查响应错误?

如果您的请求生成错误,系统会返回标准格式的错误响应正文,并将 HTTP 状态代码设置为错误状态。

错误响应包含一个对象,其中有一个错误对象,该对象包含以下键:

  • code:这与响应的 HTTP 状态相同。
  • message:错误的简短说明。
  • errors:所发生的错误的列表。每个错误都包含错误类型标识符(原因)和简短说明(消息)。

例如,发送无效的 JSON 将返回以下错误:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "parseError",
    "message": "Parse Error",
   }
  ],
  "code": 400,
  "message": "Parse Error"
 }
}

从设备收集测试信息

对于其他测试,您可以使用以下 SDK 和 API 从设备收集信息:

错误说明

以下是您在使用说明时可能会遇到的错误。

原因 网域 HTTP 状态代码 说明
dailyLimitExceeded usageLimits 403 您已超出每日上限
keyInvalid usageLimits 400 您的 API 密钥对于 Geolocation API 无效。请确保您已添加完整的密钥,并且已购买该 API 或已启用结算功能并激活该 API,以便免费获取配额。
userRateLimitExceeded usageLimits 403 您已超出在 Google Cloud 控制台中配置的请求限制。 此限制通常设置为每天请求数、每 100 秒请求数和每个用户每 100 秒请求数。您应配置限额,以防止单个或一小部分用户耗尽您的每日配额,同时仍然允许所有用户进行合理的访问。如需配置这些限制,请参阅限制 API 使用量
notFound geolocation 404 请求有效,但未返回任何结果。
parseError global 400 请求正文不是有效的 JSON。如需详细了解各个字段,请参阅请求正文部分。