Google API的常见错误代码和描述
错误类型: 其他错误 错误名称: 谷歌索引API错误 英文名称: Indexing API error 错误描述: API如果返回这些错误,请求都遭到了拒绝,并且 Google 不会抓取相应网址。
这个文档描述了Google API返回的一些错误代码和消息。具体来说,本文列出的错误都发生在Google API的全局域(即默认域)。许多API还指定了自己的域来标识不在全局域中而只在API范围内的错误。对于这种错误,JSON响应中domain属性的值将是一个API范围的值,比如youtube.parameter
该页面根据RFC 7231中定义的HTTP状态代码列出了此类错误。
以下JSON响应示例显示了系统如何表达一个全局错误:
{ “error”: { “errors”: [ { “domain”: “global”, “reason”: “invalidParameter”, “message”: “Invalid string value: ‘asdf’. Allowed values: [mostpopular]”, “locationType”: “parameter”, “location”: “chart” } ], “code”: 400, “message”: “Invalid string value: ‘asdf’. Allowed values: [mostpopular]” }}
一般API错误
永久移动(301)
错误代码说明movedPermanently此请求及今后对同一操作的请求必须发送到在此响应的 Location 标头中指定的网址,而不是此请求被发送到的那个网址。
查看_其他(303)
错误代码说明seeOther您的请求已成功处理。要获得响应,请向 Location 标头中指定的网址发送 GET 请求。mediaDownloadRedirect您的请求已成功处理。要获得响应,请向 Location 标头中指定的网址发送 GET 请求。
未修改(304)
错误代码说明notModified不符合为 If-None-Match 标头设置的条件。此响应表明所请求的文档尚未修改,应当检索缓存的响应。请检查 If-None-Match HTTP 请求标头的值。
临时_重定向(307)
错误代码说明temporaryRedirect要使您的请求得到处理,请将其重新发送到在此响应的 Location 标头中指定的网址。
错误请求(400)
错误代码说明badRequest该 API 请求无效或格式不正确。因此,API 服务器无法解读该请求。badBinaryDomainRequest该二进制网域请求无效。badContent请求数据的内容类型或多部分请求中某一部分的内容类型不受支持。badLockedDomainRequest锁定的网域请求无效。corsRequestWithXOrigin该 CORS 请求包含 XD3 跨域标头,表明这是一个错误的 CORS 请求。endpointConstraintMismatch由于与指定的 API 不符,因此请求失败。请检查网址路径的值,以确保其正确无误。invalid由于包含无效值,因此请求失败。该值可能是参数值、标头值或属性值。invalidAltValuealt 参数值指定了一个未知输出格式。invalidHeader由于包含无效标头,因此请求失败。invalidParameter由于包含无效参数或参数值,因此请求失败。请查看 API 文档,以确定哪些参数对您的请求来说有效。invalidQuery该请求无效。请查看 API 文档,以确定该请求支持哪些参数,同时查看该请求是否包含无效的参数组合或无效的参数值。请检查 q 请求参数的值。keyExpired该请求中提供的 API 密钥已过期,这意味着 API 服务器无法查看发出该请求的应用的配额限制。请查看 Google Developers Console 了解详情或获取新密钥。keyInvalid该请求中提供的 API 密钥无效,这意味着 API 服务器无法查看发出该请求的应用的配额限制。请在 Google Developers Console 中查找您的 API 密钥或再获取一个。lockedDomainCreationFailureOAuth 令牌是在查询字符串中收到的,而此 API 禁止对 JSON 或 XML 之外的响应格式使用查询字符串。如果可能,请尝试在授权标头中发送 OAuth 令牌。notDownload只能向 /download/* 网址路径发送媒体下载请求。请向同一个路径重新发送该请求,但要去掉 /download 前缀。notUpload由于不是上传请求,因此请求失败。只能向 /upload/* URI 发送上传请求。请尝试向同一个路径重新发送该请求,但要去掉 /upload 前缀。parseErrorAPI 服务器无法解析请求正文。required该 API 请求缺少必需的信息。必需信息可能是参数,也可能是资源属性。tooManyParts由于包含的部分过多,因此该多部分请求失败了。unknownApi系统无法识别该请求调用的 API。unsupportedMediaProtocol客户端使用的媒体协议不受支持。unsupportedOutputFormat此服务不支持 alt 参数值指定的输出格式。请检查 alt 请求参数的值。wrongUrlForUpload该请求是上传请求,但由于未发送到正确的 URI,因此请求失败。上传请求必须发送到包含 /upload/* 前缀的 URI。请尝试向同一个路径重新发送该请求,但要包含 /upload 前缀。
未经授权(401)
错误代码说明unauthorized用户无权发出该请求。authError为该请求提供的授权凭据无效。请检查 Authorization HTTP 请求标头的值。expired会话超时。请检查 Authorization HTTP 请求标头的值。lockedDomainExpired由于之前有效的锁定网域已过期,因此请求失败。required用户必须登录才能发出此 API 请求。请检查 Authorization HTTP 请求标头的值。
付款_必填项(402)
错误代码说明dailyLimitExceeded402已达到开发者设置的每日预算上限。quotaExceeded402所请求的操作需要的资源超出配额允许的上限。需要付款才能完成该操作。user402所请求的操作需要已通过身份验证的用户完成某种付款。
禁止(403)
错误代码说明forbidden所请求的操作已被禁止,无法完成。accessNotConfigured您的项目未配置此 API 的访问权限。请在 Google Developers Console 中为您的项目激活此 API。accessNotConfigured项目由于存在滥用行为而被阻止。请参阅 http://support.google.com/code/go/developer_compliance。accessNotConfigured项目已被标为待删除。accountDeleted与该请求的授权凭据相关联的用户帐号已被删除。请检查 Authorization HTTP 请求标头的值。accountDisabled与该请求的授权凭据相关联的用户帐号已被停用。请检查 Authorization HTTP 请求标头的值。accountUnverified发出该请求的用户的电子邮件地址尚未经过验证。请检查 Authorization HTTP 请求标头的值。concurrentLimitExceeded由于已达到并发使用上限,因此请求失败。dailyLimitExceeded已达到该 API 的每日配额上限。dailyLimitExceeded已达到每日配额上限,并且项目由于存在滥用行为已被阻止。请参阅 Google API 合规性支持表单,获取解决该问题的相关帮助。dailyLimitExceededUnreg由于已达到未经身份验证情况下该 API 的每日使用上限,因此请求失败。要继续使用该 API,则需要在 Google Developers Console 中进行注册。downloadServiceForbidden该 API 不支持下载服务。insufficientAudience无法对此受众群体完成该请求。insufficientAuthorizedParty无法对此应用完成该请求。insufficientPermissions通过身份验证的用户权限不足,无法执行此请求。limitExceeded由于访问权限或速率限制,系统无法完成该请求。lockedDomainForbidden此 API 不支持锁定的网域。quotaExceeded所请求的操作需要的资源超出配额允许的上限。rateLimitExceeded在指定时间范围内发送的请求过多。rateLimitExceededUnreg已超出速率限制,您必须注册您的应用才能继续调用该 API。请在 Google Developers Console 中进行注册。responseTooLarge请求的资源过大,无法返回。servingLimitExceeded已达到为该 API 指定的整体速率上限。sslRequired需要使用 SSL 才能执行此操作。unknownAuthAPI 服务器未识别出用于该请求的授权方案。请检查 Authorization HTTP 请求标头的值。userRateLimitExceeded由于已达到每个用户的速率上限,因此请求失败。userRateLimitExceededUnreg由于已达到每个用户的速率上限,并且请求中未标识客户端开发者,因此请求失败。请通过 Google Developers Console (https://console.developers.google.com) 为您的应用创建一个项目。variableTermExpiredDailyExceeded由于不定期限配额已过期并且已达到每日上限,因此请求失败。variableTermLimitExceeded由于已达到不定期限配额上限,因此请求失败。
未找到(404)
错误代码说明notFound由于找不到与该请求关联的资源,因此所请求的操作失败了。notFound找不到与该请求关联的资源。如果您在过去两周内未用过此 API,请重新部署 App Engine 应用,然后再次尝试调用此 API。unsupportedProtocol该请求中使用的协议不受支持。
不允许的方法(405)
错误代码说明httpMethodNotAllowed与该请求关联的 HTTP 方法不受支持。
冲突(下)409
错误代码说明conflict由于请求的操作会与现有条目产生冲突,因此系统无法完成该 API 请求。例如,尝试创建重复条目的请求将会产生冲突,不过重复条目通常会通过更具体的错误进行标识。duplicate由于所请求的操作尝试创建已存在的资源,因此操作失败。
消逝(410)
错误代码说明deleted由于与该请求关联的资源已被删除,因此请求失败。
前提条件_失败(412)
错误代码说明conditionNotMet不符合在该请求的 If-Match 或 If-None-Match HTTP 请求标头中设置的条件。请参阅 HTTP 规范的 ETag 部分了解详情,并检查 If-Match HTTP 请求标头的值。
请求实体太大(413)
错误代码说明backendRequestTooLarge该请求太大。batchSizeTooLarge该批量请求中包含的元素过多。uploadTooLarge由于在该请求中发送的数据过大,因此请求失败。
请求范围不可满足(416)
错误代码说明requestedRangeNotSatisfiable无法满足该请求指定的范围。
期望_失败(417)
错误代码说明expectationFailed服务器无法实现客户端预期目标。
前提条件_必需(428)
错误代码说明preconditionRequired未提供该请求所需的先决条件。要成功完成该请求,您需在请求中提供 If-Match 或 If-None-Match 标头。
太多请求(429)
错误代码说明rateLimitExceeded在指定时间范围内发送的请求过多。
内部服务器错误(500)
错误代码说明internalError由于出现内部错误,因此请求失败。
未实施(501)
错误代码说明notImplemented请求的操作尚未执行。unsupportedMethod由于该请求尝试执行未知方法或操作,因此请求失败。
服务不可用(503)
错误代码说明backendError发生后端错误。backendNotConnected由于出现连接错误,因此请求失败。notReadyAPI 服务器尚未准备好接受请求。
索引API相关错误
在以下所有情况下,请求都已被拒绝,Google不会抓取相应的URL。这也适用于核心错误消息。
错误请求(400)
错误消息说明Missing attribute. ‘url’ attribute is required.用户未在其请求中设置网址。Invalid attribute. ‘url’ is not in standard URL format用户设置的网址看起来不像网址,例如“abcd”Unknown type. ‘type’ attribute is required and must be ‘URL_REMOVED’ or ‘URL_UPDATED’.用户未设置通知类型。Invalid value at ‘url_notification.type’ (TYPE_ENUM)用户将通知类型设置为 URL_REMOVED 或 URL_UPDATED 以外的其他值。
禁止(403)
错误消息说明Permission denied. Failed to verify the URL ownership.用户未完成所有权验证流程或正在尝试更新不归其所有的网址。
太多请求(429)
错误消息说明Insufficient tokens for quota ‘indexing.googleapis.com/default_requests’用户已超出其 Indexing API 配额。
通过谷歌官方开发文档