如何仅使用管理帐号即可从 Adwords API 获取点击效果报告?



这是我第一次使用 Adwords API,我正在尝试设置一个调用,为一个帐户下载点击效果帐户。我得到了

"CUSTOMER_SERVING_TYPE_REPORT_MISMATCH">

当我拨打电话时出错,这似乎是因为该帐户是经理帐户,根据此处的文档,该帐户无法生成报告。到目前为止,我找到的所有帮助都说使用客户服务获取可用帐户的列表,然后使用其中一个非经理帐户发出报告请求。但是,当我尝试此操作时,我没有发现其他帐户 - 请参阅下面的代码:

Dim adw As New AdWordsUser
Dim service As CustomerService = CType(adw.GetService(AdWordsService.v201806.CustomerService), CustomerService)
Dim responses As New List(Of ReportResponse)
Dim customers As Customer() = service.getCustomers()
For Each c As Customer In customers
Dim config As New AdWordsAppConfig() With {.ClientCustomerId = c.customerId.ToString}
Dim user As New AdWordsUser(config)
Dim report As New ReportUtilities(user, definition)
responses.Add(report.GetResponse())
Next

当我中断 For 循环时,"客户"只有一个成员 - 经理帐户。我觉得我对帐号的运作方式有些误解 - 经理帐号无法生成报告似乎很奇怪。

我在这里错过了一些基本的东西吗?

编辑:我正在使用Adwords v201806

有点解决了,希望我的经验对有同样问题的人有用:

最终,我通过登录Adwords网站并在那里获取相关帐户的clientID,对其进行硬编码,并使用使用该clientID实例化的User对象进行API调用来解决此问题。

Vivek 的回答帮助我理解了为什么经理帐号无法拨打报告电话,但我仍然不知道为什么我的原始代码只找到了经理帐号,而没有找到我在 Adwords 网站上看到的任何广告客户帐号

您无法从经理帐号下载报告。

原因

首先,您需要知道什么是经理帐号?

  • 它用于管理广告商帐户,以便于访问,合并账单,链接帐户的仪表板。
  • 用于制作任何广告,而仅用于管理AdWords帐户。

由于没有与经理帐号关联的广告,因此您无法查询相同的报表,而是查询广告客户帐号的报表,并且

因此,您会收到CUSTOMER_SERVING_TYPE_REPORT_MISMATCH错误,指示正在使用经理帐号提取报告。

溶液

  • 使用Customer中的canManageClients标志来验证帐号是否为经理帐号。 API 文档链接
  • 链接广告客户帐户和查询报告相同。

(请参阅此处的官方文档(

相关内容

  • 没有找到相关文章

最新更新