常见错误

本指南列出了常见的 API 错误,并提供了预防和处理这些错误的策略。

如需查看所有错误类型的完整列表,请参阅 Google Ads API 错误参考文档。如果您需要其他帮助,请在 Google Ads API 论坛上提问。

google.rpc.ErrorInfo

ACCESS_TOKEN_SCOPE_INSUFFICIENT
摘要OAuth 2.0 访问令牌不具有所需的范围。
常见原因 请求被拒,因为提供的访问令牌不包含 Google Ads API OAuth 2.0 范围。
如何处理 确保访问令牌具有所需的范围。导致此错误的常见原因是,您重复使用了使用一组不同的 OAuth 范围生成的现有访问令牌。如需查看如何生成具有所需范围的新访问令牌的示例,请参阅 OAuth 授权参数。
预防建议 确保访问令牌具有所需的范围。使用所需范围重新对用户进行身份验证,以获取具有所需范围的访问权限。如果您的应用使用多个 OAuth 范围,您可能需要实现精细 OAuth 权限。

google.auth.exceptions.RefreshError

invalid_grant
摘要令牌已过期或已被撤消。
常见原因 如果 Google Cloud Platform 项目的 OAuth 权限请求页面配置为外部用户类型,且发布状态为Testing,则系统会向该项目颁发有效期为 7 天的刷新令牌。
如何处理 您的 Google 项目的发布状态为Testing,因此刷新令牌每 7 天过期一次,并会收到 invalid_grant 错误。前往 Google API 控制台,然后前往 OAuth 权限请求页面。然后将发布状态更改为In production,以避免刷新令牌在 7 天后过期。
预防建议 请参阅未经验证的应用。

AuthenticationError

CLIENT_CUSTOMER_ID_INVALID
摘要客户账号的客户 ID 不是数字。
常见原因 使用了不正确的客户顾客 ID。
如何处理 不适用
预防建议 123-456-7890 应该是 1234567890。如需了解详情,请参阅开始使用。
CLIENT_CUSTOMER_ID_IS_REQUIRED
摘要未在 HTTP 标头中指定客户账号的客户 ID。
常见原因 未在 HTTP 标头中指定客户顾客 ID。
如何处理 不适用
预防建议 所有调用都需要提供客户顾客 ID,因此请务必在 HTTP 标头中指定一个。建议您使用我们的客户端库,因为它们会为您处理此问题。
CUSTOMER_NOT_FOUND
摘要未找到与标头中提供的客户 ID 对应的账号。
常见原因 尝试访问刚刚创建但尚未在后端建立的账号。
如何处理 先等待 5 分钟,然后每隔 30 秒重试一次。
预防建议 创建账号后,请等待几分钟,然后再向其发出请求。
摘要请求标头中的访问令牌无效或已过期。
常见原因 访问令牌已失效。
如何处理 请求新令牌。如果您使用的是我们的某个客户端库,请参阅其文档,了解如何刷新令牌。
预防建议 存储并重复使用访问令牌,直到它们过期。
NOT_ADS_USER
摘要用于生成访问令牌的 Google 账号未与任何 Google Ads 账号相关联。
常见原因 所提供的登录信息对应的是未启用 Google Ads 的 Google 账号。
如何处理 请务必使用有效的 Google Ads 账号(通常是您的经理账号)登录,以便进行 OAuth 流程。您也可以邀请该 Google 账号访问现有的 Google Ads 账号,方法是:登录您的经理账号,选择相关客户账号或经理账号,前往Tools and Settings > Access and security,然后添加该 Google 账号的邮箱。
预防建议 不适用
OAUTH_TOKEN_INVALID
摘要标头中的 OAuth 访问令牌无效。
常见原因 您通过 HTTP 标头传递的访问令牌不正确。
如何处理 不适用
预防建议 请确保您已传递与您账号关联的正确访问令牌。用户有时会将其与刷新令牌和授权代码混淆。如果您想获取可访问经理账号下所有客户账号的凭证,请务必获取经理账号的刷新令牌。请参阅用户身份验证指南。

AuthorizationError

CLOUD_PROJECT_NOT_APPROVED_FOR_PRODUCTION
摘要该 Google Cloud 项目仅具有测试访问权限,无法用于访问生产账号。
常见原因 使用了具有测试访问权限级别的 Google Cloud 项目向非测试(生产)Google Ads 账号发出请求。(在 API 版本 v24 及更早版本中,此条件会返回 AuthorizationError.ACTION_NOT_PERMITTED。)
如何处理 如果您正在进行测试,请确保您的请求定位到测试账号。如果您想访问 Google Ads 生产账号,请在 Google Ads API“概览”页面上查看 Google Cloud 项目的访问权限级别,并将项目的访问权限级别升级为“探索者”“基本”或“标准”访问权限。
预防建议 不适用
CUSTOMER_NOT_ENABLED
摘要无法访问该客户账号,因为它未处于启用状态。
常见原因 如果客户账号尚未完成注册或已被停用,就会出现这种情况。
如何处理 登录 Google Ads 界面,确保您已完成此账号的注册流程。对于已停用的账号,请参阅重新激活已撤销的 Google Ads 账号。
预防建议 您可以通过检查状态是否为 CANCELLED,主动检查客户账号是否已停用。
USER_PERMISSION_DENIED
摘要授权客户无法访问正在操作的客户。
常见原因 以有权访问经理账号的用户身份进行身份验证,但未在请求中指定 login-customer-id。
如何处理 不适用
预防建议 将 login-customer-id 指定为不带连字符的经理账号 ID (-)。客户端库对此提供了内置支持。