常见错误

本文列出了常见错误,并提供了有关如何避免和处理这些错误的提示。如需查看完整的错误列表,请参阅错误参考。如需更多支持,请访问我们的论坛

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 标头中指定了客户 ID。可考虑使用我们的客户端库,因为它们会为您处理此操作。
CUSTOMER_NOT_FOUND
摘要未找到与标头中提供的客户 ID 对应的账号。
常见原因 尝试访问刚刚创建但还没有在后端建立的账号。
如何处理 先等待 5 分钟,然后每 30 秒重试一次。
预防建议 创建账号后,请等待几分钟,然后再向该账号发出请求。
摘要请求标头中的访问令牌无效或已过期。
常见原因 访问令牌已失效。
如何处理 请求新令牌。如果您在使用我们的某个客户端库,请参阅相关文档以了解如何刷新令牌。
预防建议 存储并重复使用访问令牌,直到其过期为止。
NOT_ADS_USER
摘要用于生成访问令牌的 Google 账号未与任何 Google Ads 账号相关联。
常见原因 您提供的登录信息对应的 Google 账号未启用 Google Ads。
如何处理 请务必使用有效的 Google Ads 账号(通常是您的经理账号)登录 OAuth 流程。您还可以邀请 Google 账号访问现有 Google Ads 账号,具体方法是登录经理账号,选择相关客户账号或经理账号,前往 Tools and Settings > Access and security,然后添加 Google 账号的电子邮件地址。
预防建议 不适用
OAUTH_TOKEN_INVALID
摘要标头中的 OAuth 访问令牌无效。
常见原因 您通过 HTTP 标头传递的访问令牌不正确。
如何处理 不适用
预防建议 请确保您已传递与您账号关联的正确访问令牌。用户有时会将其与刷新令牌和授权代码混淆。如果您希望获得可访问经理账号下所有客户账号的凭据,则务必要取得该经理账号的刷新令牌。如需了解详情,请参阅我们关于访问令牌和刷新令牌以及 OAuth2 的指南。
ORGANIZATION_NOT_ASSOCIATED_WITH_DEVELOPER_TOKEN
摘要开发者令牌已与 Google Cloud 组织相关联,无法与其他组织相关联。
常见原因 开发者令牌未与用于最初发出请求的 Google Cloud 项目所在的 Google Cloud 组织中的 Google Cloud 项目相关联。
如何处理 如果您已使用开发者令牌发出 API 请求,请确保 OAuth 客户端 ID 与同一 Google Cloud 组织中的 Google Cloud 项目相关联。
预防建议 请确保您的所有 Google Cloud 项目都与同一 Google Cloud 组织相关联。一个 Google Cloud 项目只能与一个开发者令牌相关联,但一个开发者令牌可以与组织中的多个项目相关联。
DEVELOPER_TOKEN_INVALID
摘要开发者令牌无效。
常见原因 导致此错误的常见原因包括开发者令牌拼写错误,或在其他请求标头中错误地设置开发者令牌。
如何处理 请务必从 API 中心复制开发者令牌,以免拼写错误。您可以在 Google Ads 经理账号中找到 API 中心。此外,请确保您是在正确的标头中设置开发者令牌。开发者令牌有时会与 OAuth 刷新令牌和授权代码混淆。如需详细了解不同的请求标头,请点击此处
预防建议 不适用

AuthorizationError

CUSTOMER_NOT_ENABLED
摘要由于客户账号处于停用状态,因此无法访问。
常见原因 如果客户账号尚未完成注册或已停用,就会出现这种情况。
如何处理 登录 Google Ads 界面,并确保您已完成此账号的注册流程。对于已停用的账号,请参阅重新激活已撤销的 Google Ads 账号
预防建议 您可以通过检查状态是否为已取消,主动检查客户账号是否已停用。
DEVELOPER_TOKEN_NOT_APPROVED
摘要开发者令牌仅获准用于测试账号,但尝试访问非测试账号。
常见原因 测试开发者令牌被用于访问非测试账号。
如何处理 请确保您确实想要访问非测试账号。如果是,您需要申请将开发者令牌升级为标准访问权限或基本访问权限。
预防建议 不适用
DEVELOPER_TOKEN_PROHIBITED
摘要请求中发送的项目不允许使用开发者令牌。
常见原因 每个 Google API 控制台项目只能与一个经理账号的开发者令牌相关联。发出 Google Ads API 请求后,开发者令牌将永久与 Google API 控制台项目配对。如果您不使用新的 Google API 控制台项目,则在发出请求时会收到 DEVELOPER_TOKEN_PROHIBITED 错误。
如何处理 不适用
预防建议 如果改用新经理账号下的开发者令牌,您需要为使用新经理账号令牌的 Google Ads API 请求创建一个新的 Google API 控制台项目
USER_PERMISSION_DENIED
摘要授权客户无法访问正在操作的客户。
常见原因 以有权访问经理账号的用户身份进行身份验证,但未在请求中指定 login-customer-id
如何处理 不适用
预防建议 login-customer-id 指定为不含连字符的经理账号 ID (-)。客户端库内置了对此的支持。