首页 > 解决方案 > 我可以为不同的帐户使用相同的 AdWords developerToken 和 clientCustomerId 吗?

问题描述

我正在制作一个网络应用程序,它将在 Google AdWords 上自动执行一些操作。任何拥有 AdWords 帐户的人都可以使用该网络应用程序。

我对 AdWords API 有点困惑,因为它与其他 Google API 不同,它需要两个额外的配置参数:developerToken并且clientCustomerId,根据他们的文档:

https://developers.google.com/adwords/api/docs/guides/first-api-call

在构造 AdWordsClient 对象时,我需要提供developerTokenand clientCustomerId,以便将数据推送到 AdWords。

我的问题是对于将使用我的 Web 应用程序的每个用户,这两个参数 ( developerToken, clientCustomerId) 是否需要不同?

似乎我能够将数据发布到不相关的不同帐户developerToken,这没有意义。

我可以clientCustomerId从 API 端点获取,因此我不需要我的用户手动输入令牌和 ID 到 Web 应用程序,并使用 oAuth 进行完整的身份验证吗?

我的代码正在运行,我在询问更多关于为什么需要这两个参数的理念,以及是否可以避免让用户手动将它们从 AdWords 控制面板复制到我的应用程序中?

标签: google-ads-api

解决方案


开发者令牌标识给定的 Adwords API 开发者,并用于 RMF 实施、速率限制等。正如您所提到的,这与其他 Google API 不同,我认为这与它不是公开可用的 API 有关。您始终必须使用作为 API 注册过程的一部分提供给您的开发人员令牌,并且不允许使用其他开发人员的令牌(因此不可能让您的应用程序的用户自己输入)。

clientCustomerId参数是指您要与之交互的特定 Google Ads 帐户。由于给定用户(由您在请求中包含的 OAuth2 访问令牌标识)可能有权访问大量不同的帐户,因此始终需要包含该用户。

至于如何在给定用户凭据的情况下获取可访问帐户的列表,您可以为此目的使用CustomerService.getCustomers端点。引用文档,它将“返回验证呼叫的用户可直接访问的所有客户的详细信息。”


推荐阅读