本指南介绍了所有 API 调用的通用结构。
如果您使用客户端库与 API 进行互动,则无需操心底层请求的详细信息;但在进行测试和调试时,对它们有所了解还是很有用的。
Google Ads API 是一个带有 REST 绑定的 gRPC API。这意味着有两种方法可以调用此 API。
[首选] 将请求的正文创建为 协议缓冲区,请使用以下代码将其发送到服务器: HTTP/2:将响应反序列化为协议 缓冲并解读结果。我们的大部分文档介绍了如何使用 gRPC。
[可选] 将请求正文创建为 JSON 对象,请使用 HTTP 1.1 将其发送到服务器, 将响应反序列化为 JSON 对象,并解释结果。请参阅 REST 接口指南 REST。
资源名称
API 中的大多数对象都通过其资源名称字符串进行标识。这些 使用 REST 接口时,字符串还会用作网址。查看 REST 接口的资源名称作为其 结构。
复合 ID
如果某个对象的 ID 不具有全局唯一性,则该对象的复合 ID 通过添加其父 ID 和波浪号 (~) 进行构建。
例如,某个广告组广告 ID 不具有全局唯一性,我们需要在前面加上其父级对象(即广告组)的 ID,从而形成具有唯一性的复合 ID,具体如下:
AdGroupId
/123
+~
+AdGroupAdId
(共45678
)= 复合广告123~45678
的广告组广告 ID。
请求标头
这些是 HTTP 标头(或 grpc 元数据) 请求的正文中:
授权
您需要添加 OAuth2 访问令牌,形式为
Authorization: Bearer YOUR_ACCESS_TOKEN
,用于标识
直接代表客户或广告客户执行操作的经理账号
管理自己账号。检索访问令牌的说明
OAuth2 指南。访问令牌在获得后一小时之内有效;过期后,您可以刷新访问令牌来获取新令牌。请注意,我们的客户端库会自动刷新过期令牌。
developer-token
开发者令牌是由 22 个字符组成的字符串,用于唯一标识 Google Ads API 开发者。下面是一个开发者令牌字符串示例:
ABcdeFGH93KL-NOPQ_STUv
。开发者令牌应包含在
采用 developer-token : ABcdeFGH93KL-NOPQ_STUv
格式。
login-customer-id
这是将在请求中使用的授权客户的客户 ID。
不带连字符 (-
)。如果您是通过以下途径访问该客户账号:
经理账号,此标头是必需的,且必须设置为
。
https://googleads.googleapis.com/v17/customers/1234567890/campaignBudgets:mutate
设置 login-customer-id
相当于在
登录或点击顶部的个人资料图片后的 Google Ads 界面
。如果您不添加该标头,则它默认为操作
客户。
linked-customer-id
只有在满足以下条件时,第三方应用分析工具提供商才会使用此标头: 将转化数据上传到关联的 Google Ads 账号。
请考虑账号 A
的用户提供读取和修改权限的情况
向账号 B
发送事件通知,
ThirdPartyAppAnalyticsLink
。
关联之后,账号 B
的用户就可以对账号 A
进行 API 调用,
具体取决于该链接所提供的权限。在这种情况下,API 调用
对账号 A
的权限取决于对账号 B
的第三方关联,
而不是在其他 API 调用中所用的经理账号关系。
第三方应用分析工具提供商发出 API 调用,如下所示:
linked-customer-id
:用于上传数据的第三方应用分析工具账号 数据(账号B
)。customer-id
:数据上传到的 Google Ads 账号(账号A
)。login-customer-id
和Authorization
标头: 标识有权访问账号B
的用户。
响应标头
以下标头(或 grpc trailing-metadata)随响应正文一起返回。出于调试目的考虑,我们建议您记录这些值。
request-id
request-id
是一个字符串,用于唯一标识此请求。