常见错误
    
    
      
    
    
      
      使用集合让一切井井有条
    
    
      
      根据您的偏好保存内容并对其进行分类。
    
  
  
      
    
  
  
  
  
  
    
  
  
    
    
    
本文列出了常见错误,并提供了有关如何避免和处理这些错误的提示。
如需查看完整的错误列表,请参阅错误参考。如需更多支持,请访问我们的论坛。
  
  
  
      
        
          | 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 天后过期。 | 
|---|
 | 预防建议 | 请参阅未经验证的应用。 | 
|---|
 | 
        
      
  
      
        
          |  | 
        
        
          | CANNOT_USE_AD_SUBCLASS_FOR_OPERATOR | 
              | 摘要 | 此运算符不能与广告子类一起使用。 | 
|---|
 | 常见原因 | 尝试修改广告的 status以外的属性。 | 
|---|
 | 如何处理 | 不适用 | 
|---|
 | 预防建议 | 广告制作后就无法修改。如果您想修改广告,则必须制作新广告,然后移除旧广告。不过,您可以使用 MutateAdGroupAds 修改广告的 status。 | 
|---|
 | 
        
        
          | INVALID_INPUT | 
              | 摘要 | 广告中的某个字段包含无效字符。 | 
|---|
 | 常见原因 | 在网址中使用特殊字符。 | 
|---|
 | 如何处理 | 不适用 | 
|---|
 | 预防建议 | 在发出 API 请求之前,请先验证应用中的网址。 | 
|---|
 | 
        
        
          | LINE_TOO_WIDE | 
              | 摘要 | 广告中的某个字段超出了所允许的长度上限。请参阅文字广告简介。 | 
|---|
 | 常见原因 | 文本行过长。 | 
|---|
 | 如何处理 | 不适用 | 
|---|
 | 预防建议 | 在发出 API 请求之前,验证行的长度。 | 
|---|
 | 
        
      
  
      
        
          |  | 
        
        
          | AD_GROUP_AD_LABEL_ALREADY_EXISTS | 
              | 摘要 | 此标签已与部分广告相关联。 | 
|---|
 | 常见原因 | 尝试将标签与已关联的广告相关联。 | 
|---|
 | 如何处理 | 不适用 | 
|---|
 | 预防建议 | 首先检查要添加的标签是否已与广告相关联。 | 
|---|
 | 
        
        
          | CANNOT_OPERATE_ON_REMOVED_ADGROUPAD | 
              | 摘要 | 一项操作尝试更新已移除的广告。 | 
|---|
 | 常见原因 | 广告一经移除,便无法再进行更新,包括更改其状态。 | 
|---|
 | 如何处理 | 不适用 | 
|---|
 | 预防建议 | 确保您的代码不会尝试更新已移除的广告。 | 
|---|
 | 
        
      
  
      
        
          |  | 
        
        
          | INVALID_KEYWORD_TEXT | 
              | 摘要 | 关键字文字包含无效字符。请参阅添加关键字。 | 
|---|
 | 常见原因 | 关键字文字包含无效字符。 | 
|---|
 | 如何处理 | 不适用 | 
|---|
 | 预防建议 | 在向 API 发出请求之前,先验证应用中的关键字文字。 | 
|---|
 | 
        
      
  
      
        
          |  | 
        
        
          | DUPLICATE_ADGROUP_NAME | 
              | 摘要 | 正在添加或重命名一个广告组,但名称已经被其他广告组使用。 | 
|---|
 | 常见原因 | 创建新广告组时,选择了正在使用或已暂停的现有广告组的名称。 | 
|---|
 | 如何处理 | 记录错误并向用户显示错误消息,可以选择推荐一个未使用的广告组名称或列出已被使用的名称。 | 
|---|
 | 预防建议 | 不适用 | 
|---|
 | 
        
      
  
      
        
          |  | 
        
        
          | DUPLICATE_ASSET | 
              | 摘要 | 单个请求中的两项操作包含一项针对具有相同二进制数据的素材资源的创建操作。 | 
|---|
 | 常见原因 | 包含相同二进制数据的重复创建操作的 mutate 请求。 | 
|---|
 | 如何处理 | 在单独的请求中创建资产,然后在后续请求中链接到该资产;或者,在同一请求中使用临时 ID。 | 
|---|
 | 预防建议 | 不适用 | 
|---|
 | 
        
      
  
      
        
          |  | 
        
        
          | 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 秒重试一次。 | 
|---|
 | 预防建议 | 创建账号后,请等待几分钟,然后再针对该账号发出请求。 | 
|---|
 | 
        
        
          | GOOGLE_ACCOUNT_COOKIE_INVALID | 
              | 摘要 | 请求标头中的访问令牌无效或已过期。 | 
|---|
 | 常见原因 | 访问令牌已失效。 | 
|---|
 | 如何处理 | 请求新令牌。如果您在使用我们的某个客户端库,请参阅相关文档以了解如何刷新令牌。 | 
|---|
 | 预防建议 | 存储并重复使用访问令牌,直到其过期。 | 
|---|
 | 
        
        
          | 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 标头传递的访问令牌不正确。 | 
|---|
 | 如何处理 | 不适用 | 
|---|
 | 预防建议 | 请确保您已传递与您账号关联的正确访问令牌。用户有时会将其与刷新令牌和授权代码混淆。如果您希望获得可访问经理账号下所有客户账号的凭据,则务必要取得该经理账号的刷新令牌。请参阅用户身份验证指南。 | 
|---|
 | 
        
        
          | ORGANIZATION_NOT_ASSOCIATED_WITH_DEVELOPER_TOKEN | 
              | 摘要 | 开发者令牌已与某个 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 刷新令牌和授权代码混淆。如需详细了解不同的请求标头,请点击此处。 | 
|---|
 | 预防建议 | 不适用 | 
|---|
 | 
        
      
  
      
        
          |  | 
        
        
          | CUSTOMER_NOT_ENABLED | 
              | 摘要 | 由于客户账号未处于启用状态,因此无法访问。 | 
|---|
 | 常见原因 | 如果客户账号未完成注册或已被停用,就会出现此错误。 | 
|---|
 | 如何处理 | 登录 Google Ads 界面,并确保您已完成此账号的注册流程。对于已停用的账号,请参阅重新启用已撤销的 Google Ads 账号。 | 
|---|
 | 预防建议 | 您可以主动检查客户账号是否已停用,方法是检查状态是否为 CANCELLED。 | 
|---|
 | 
        
        
          | 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。客户端库内置了对此的支持。 | 
|---|
 | 
        
      
  
      
        
          |  | 
        
        
          | BID_TOO_MANY_FRACTIONAL_DIGITS | 
              | 摘要 | 出价的值不是账号所用币种最小单位的整数倍。例如,US$ 0.015( 15000个百万分之一)不是有效的出价。 | 
|---|
 | 常见原因 | 不适用 | 
|---|
 | 如何处理 | 不适用 | 
|---|
 | 预防建议 | 验证出价是否是该账号币种最小单位的整数倍。 | 
|---|
 | 
        
        
          | BID_TOO_BIG | 
              | 摘要 | 即使出价在广告系列预算范围内,也会返回此错误。 | 
|---|
 | 常见原因 | 不适用 | 
|---|
 | 如何处理 | 不适用 | 
|---|
 | 预防建议 | 检查账号是否在参与 Google 广告助公益计划。如果是,请将每次点击费用出价限制在计划规定的上限范围内。 | 
|---|
 | 
        
      
  
      
        
          |  | 
        
        
          | MONEY_AMOUNT_LESS_THAN_CURRENCY_MINIMUM_CPC | 
              | 摘要 | 预算金额太低。 | 
|---|
 | 常见原因 | 不适用 | 
|---|
 | 如何处理 | 不适用 | 
|---|
 | 预防建议 | 验证预算金额是否高于或等于账号所用币种的最小单位。 | 
|---|
 | 
        
        
          | NON_MULTIPLE_OF_MINIMUM_CURRENCY_UNIT | 
              | 摘要 | 从以百万分之一为单位的金额转换为以账号币种计价的金额时,预算金额的小数位数太多。 | 
|---|
 | 常见原因 | 不适用 | 
|---|
 | 如何处理 | 不适用 | 
|---|
 | 预防建议 | 验证预算金额是否可以被账号所用币种的最小单位整除。 | 
|---|
 | 
        
      
  
      
        
          |  | 
        
        
          | DUPLICATE_CAMPAIGN_NAME | 
              | 摘要 | 正在添加或重命名一个广告系列,但名称已经被其他广告系列使用。 | 
|---|
 | 常见原因 | 创建新广告系列时,选择了正在使用或已暂停的现有广告系列的名称。 | 
|---|
 | 如何处理 | 记录错误并向用户显示错误消息,可以选择推荐一个未使用的广告系列名称或列出已被使用的名称。 | 
|---|
 | 预防建议 | 不适用 | 
|---|
 | 
        
      
  
      
        
          |  | 
        
        
          | KEYWORD_HAS_INVALID_CHARS | 
              | 摘要 | 添加或修改包含无效字符的关键字。 | 
|---|
 | 常见原因 | 在关键字中使用 ! @ % *等特殊字符。 | 
|---|
 | 如何处理 | 不适用 | 
|---|
 | 预防建议 | 务必不要在关键字中使用任何不允许的字符。请参阅添加关键字。 | 
|---|
 | 
        
      
  
      
        
          |  | 
        
        
          | DUPLICATE_ELEMENT | 
              | 摘要 | 请求包含两个相同的冗余参数。 | 
|---|
 | 常见原因 | 不适用 | 
|---|
 | 如何处理 | 不适用 | 
|---|
 | 预防建议 | 在发出请求之前移除操作、参数、列表元素中的重复项。查找具有 DistinctElements限制条件的字段。 | 
|---|
 | 
        
      
  
      
        
          |  | 
        
        
          | DEADLINE_EXCEEDED | 
              | 摘要 | 请求超时,无法及时完成并返回响应。 | 
|---|
 | 常见原因 | 发出的搜索请求生成的响应过大,或者变异请求过大,无法处理。 | 
|---|
 | 如何处理 | 等待大约 30 秒后重新尝试发出请求。如果错误仍然存在,请尝试将请求分解为多个较小的请求,以便更快地完成这些请求。 | 
|---|
 | 预防建议 | 查看分段,了解它对回答大小有何影响。请注意 gRPC 传输层限制。 | 
|---|
 | 
        
        
          | INTERNAL_ERROR | 
              | 摘要 | 处理请求时发生了意外。 | 
|---|
 | 常见原因 | API 因发生 bug 而无法正常运行。 | 
|---|
 | 如何处理 | 使用指数退避时间表重试因出现此错误而失败的任何请求。 | 
|---|
 | 预防建议 | 不适用 | 
|---|
 | 
        
        
          | TRANSIENT_ERROR | 
              | 摘要 | 发生了暂时性内部错误,应执行重试。 | 
|---|
 | 常见原因 | 当 API 在内部遇到临时问题时,会发生此错误。 | 
|---|
 | 如何处理 | 使用指数退避时间表重试因出现此错误而失败的任何请求。 | 
|---|
 | 预防建议 | 不适用 | 
|---|
 | 
        
      
  
      
        
          | InvalidGrantError
 | 
        
        
          | invalid_grant (malformed auth code) | 
              | 摘要 | 交换为 OAuth 令牌的授权代码格式有误。 | 
|---|
 | 常见原因 | 当尝试为已获授权访问请求应用的用户生成刷新令牌时,会发生这种情况。例如,如果针对同一 OAuth 客户端凭据和授权用户多次运行生成用户凭据示例,就会发生这种情况。 | 
|---|
 | 如何处理 | 如需为授权用户和 OAuth 客户端凭据的给定组合重新生成刷新令牌,请撤消现有刷新令牌。请注意,撤消令牌后,该令牌将无法用于 Google Ads API 访问,并且使用该刷新令牌生成的所有访问令牌都将失效。 | 
|---|
 | 预防建议 | 请务必将刷新令牌存储在安全的位置,以免需要重新生成。 | 
|---|
 | 
        
      
  
      
        
          |  | 
        
        
          | RESOURCE_NOT_FOUND | 
              | 摘要 | 相应请求所引用的资源无法找到。 | 
|---|
 | 常见原因 | 相应请求尝试变异或以其他方式引用不存在或已被移除的资源。或者,相应资源的指定资源名称格式不正确。 | 
|---|
 | 如何处理 | 在提交更改请求之前,先使用搜索请求检索现有资源的资源名称。查看我们的客户端库指南,其中包含有关如何以每种受支持的语言构建有效资源名称的文档 | 
|---|
 | 预防建议 | 请勿手动创建资源名称。使用我们的客户端库提供的一种辅助方法。 | 
|---|
 | 
        
      
  
      
        
          |  | 
        
        
          | EMPTY_LIST | 
              | 摘要 | 某必填列表为空。 | 
|---|
 | 常见原因 | 向 mutate方法传递了空的操作列表。 | 
|---|
 | 如何处理 | 不适用 | 
|---|
 | 预防建议 | 不适用 | 
|---|
 | 
        
      
  
      
        
          |  | 
        
        
          | RESOURCE_EXHAUSTED | 
              | 摘要 | 超出了系统频率限额。 | 
|---|
 | 常见原因 | 不适用 | 
|---|
 | 如何处理 | 不适用 | 
|---|
 | 预防建议 | 在请求之间设置短暂的延迟,或者将较多的操作组合到较少的请求中。 | 
|---|
 | 
        
      
  
      
        
          |  | 
        
        
          | TOO_LOW | 
              | 摘要 | 某个值低于所允许的下限。 | 
|---|
 | 常见原因 | 忘记指定 ID,导致传入的值为 0。 | 
|---|
 | 如何处理 | 不适用 | 
|---|
 | 预防建议 | 留意 API 参考中记录的任何范围限制。 | 
|---|
 | 
        
      
  
      
        
          |  | 
        
        
          | INVALID_INPUT | 
              | 摘要 | 请求格式错误。 | 
|---|
 | 常见原因 | 网址或请求内容的格式不正确。 | 
|---|
 | 如何处理 | 不适用 | 
|---|
 | 预防建议 | 不适用 | 
|---|
 | 
        
        
          | REQUIRED_FIELD_MISSING | 
              | 摘要 | 请求缺少必要的信息。 | 
|---|
 | 常见原因 | 在尝试添加实体时未提供必要的字段。 | 
|---|
 | 如何处理 | 记录错误并向用户显示错误消息。错误的 fieldPath属性会指明缺少哪个字段。 | 
|---|
 | 预防建议 | 请参阅 API 参考,了解哪些字段是必需的。 | 
|---|
 | 
        
      
  
      
        
          |  | 
        
        
          | RESOURCE_LIMIT | 
              | 摘要 | 相应请求尝试创建的资源会导致此类资源的总数超出指定限制。 | 
|---|
 | 常见原因 | 在某些情况下,可存在的资源数量存在多项限制。 | 
|---|
 | 如何处理 | 查看系统限制,确定遇到的限制。您可以重复使用现有资源,也可以移除资源来为新资源腾出空间。 | 
|---|
 | 预防建议 | 使用搜索查询来监控受限资源的数量。 | 
|---|
 | 
        
      
  
      
        
          |  | 
        
        
          | TOO_LONG | 
              | 摘要 | 分配给指定字段的字符串超过了限制。 | 
|---|
 | 常见原因 | 广告的标题或广告内容描述包含的文字过多。 | 
|---|
 | 如何处理 | 确定遇到的限制,相应地修改字符串,然后重新发送请求。 | 
|---|
 | 预防建议 | 请注意字符串长度限制。 | 
|---|
 | 
        
      
  
  
  
  
    
  
 
    
  
  
    
    
      
       
    
    
  
  
  如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
  最后更新时间 (UTC):2025-10-16。
  
  
  
    
      [null,null,["最后更新时间 (UTC):2025-10-16。"],[],[]]