node.js - 如何获取Google Ads API以获取帐户列表

标签 node.js google-api google-ads-api google-api-nodejs-client

如何使用 Nodejs 查询 api 来获取客户的帐户列表。

可以通过 https://googleads.googleapis.com/v3/customers/xxxxxxxxx/ 获取客户详细信息。但是如何获取特定客户的所有帐户?

最佳答案

是的,可以访问帐户列表。 ListAccessibleCustomers 返回可通过某些 Google 帐户直接访问的客户的资源名称。您可以从响应中过滤经理帐户,并列出经理帐户的所有客户帐户。

由于客户客户也可能是经理,因此您可能需要某种递归来构建帐户树。

将 GET 请求应用到以下 URL:

URL: 'https://googleads.googleapis.com/v1/customers:listAccessibleCustomers?key=XXXXXX'

更多详情,您可以查看documentation

CustomerService.ListAccessibleCustomers 仅检索可通过您的 OAuth 凭据直接访问的帐户列表。

话虽这么说,即使您的 OAuth 凭据可以直接访问您的 MCC,此服务也不会包含您的 MCC 下的子帐户,除非您的 OAuth 凭据也可以直接访问您的子帐户。

修改:使用经理帐号凭据对您的 API 调用进行身份验证,您可以使用 ManagedCustomerService.get 检索经理帐号下所有帐号的列表。 根据文档:您的开发者 token 可以属于根经理帐户 1,甚至可以属于另一个层次结构中的不同经理帐户:只要您提供目标帐户的客户 ID,它就不会影响您可以定位的帐户。

要对客户帐户 A 进行 API 调用,您可以使用与客户帐户 A 关联的登录名的 OAuth2 凭据,并将 clientCustomerId 请求 header 设置为客户端 A、经理帐户 2 或根经理帐户的客户 ID 1.

在此结构中,与经理帐户 3 关联的登录名的 OAuth2 凭据只能针对客户帐户 C 进行调用。这些凭据无法针对客户帐户 A 或 B 进行调用,因为它不管理它们。与根管理器帐户 1 关联的登录名的 OAuth2 凭据可以对层次结构中的任何帐户进行调用。

使用经理帐号凭据进行的调用只能定位经理帐号或层次结构中位于其下方的帐号。因此,在此层次结构中,只有根管理员帐户 1 可以对客户帐户 D 进行调用。

如果您使用任一经理帐号,请将 clientCustomerId 设置为该经理帐号或其子帐号之一。

要了解有关 ManagedCustomerService 的更多信息,请参阅官方 Link

enter image description here

如果您对此仍有疑问,能否分享请求和响应日志,以便我仔细查看?

关于node.js - 如何获取Google Ads API以获取帐户列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60502130/

相关文章:

python - 设置 Google Adwords API 的客户 ID

node.js - 在不使用额外的 NPM 包的情况下检查 package.json 是否在 shell 脚本中具有特定名称的脚本

node.js - 将 HTML 传递给 phantom 并将其渲染为 PDF

java - 无法处理文件 - Android 工作室(应用程序 :mergeDebugResources)

java - map 就绪回调返回 null

typescript - 如何将 Typescript 类型与 googleapis 一起使用(特别是使用drive_v3时的文件类型)

google-analytics - 我无法使用 Google AdWords 再营销代码

node.js - 使用nodejs sequelize中指定的字段隐藏数据库中的列表中的一个结果

node.js - nodejs,如何使套接字连接在一段时间后关闭后端服务器

cookies - 用于新 AdWords 转化的 GTM 跨域跟踪