无法获取经理帐户的 Google Ads 指标,无法获得客户帐户的权限

Posted

技术标签:

【中文标题】无法获取经理帐户的 Google Ads 指标,无法获得客户帐户的权限【英文标题】:Can't get Google Ads metrics for manager account, can't get permission for client account 【发布时间】:2021-06-16 22:53:01 【问题描述】:

我正在尝试通过 Python 客户端使用 Google Ads API 访问客户帐户的指标。

目前我正在使用get_campaign_stats_to_csv.py 示例的修改版本,查询:

import datetime
last_three_days = datetime.datetime.today() - datetime.timedelta(days=3)
query = """
    SELECT 
        customer.descriptive_name, 
        metrics.cost_micros 
    FROM customer 
    WHERE 
        segments.date > 'last_three_days' 
        AND segments.date <= 'today'""".format(
            last_three_days=last_three_days.strftime('%Y-%m-%d'),
            today=datetime.datetime.today().strftime('%Y-%m-%d'))

它需要我们报告的帐户的命令行参数--customer_id=,用法如下:

search_request.customer_id = customer_id # e.g., '--customer_id=1234567890'

问题是当我使用我的经理帐户客户 ID 1234567890 时,我收到错误:

error_code 
    query_error: REQUESTED_METRICS_FOR_MANAGER
  
  message: "Metrics cannot be requested for a manager account. To retrieve metrics, issue 
separate requests against each client account under the manager account."

我认为这意味着使用客户端 ID。但是当我使用客户端 ID 0987654321 时,我得到了错误:

error_code 
    authorization_error: USER_PERMISSION_DENIED
  
  message: "User doesn\'t have permission to access customer. Note: If you\'re accessing a 
client customer, the manager\'s customer id must be set in the \'login-customer-id\' 
header. See https://developers.google.com/google-ads/api/docs/concepts/call-structure#cid"

The link in the error message 导致以下标头:

这让我回到第一个问题,当我使用经理帐户 ID 时,API 会吐出假人。

我查看了this stack overflow question,但我认为我们遇到了不同的问题,因为我所有的帐户旁边都有红色的“TEST ACCOUNT”标志。

最后一点:有两个测试客户帐户,我都设置了准广告系列。

【问题讨论】:

【参考方案1】:

我写了那个例子。 您可以在命令行或 YAML 文件中设置客户端 ID。如果您使用经理帐号 ID,它将不起作用。

我知道术语令人困惑,但这正是 API 所期望的。

如果您有任何其他问题,请告诉我。

【讨论】:

【参考方案2】:

所以我在google-ads.yaml 中没有经理帐号。当我使用客户端 ID 作为命令行参数时,添加它解决了我的问题。

这是我添加经理帐号的图片。

【讨论】:

以上是关于无法获取经理帐户的 Google Ads 指标,无法获得客户帐户的权限的主要内容,如果未能解决你的问题,请参考以下文章

未知 BigQuery Google Ads 数据传输服务错误:非经理帐户不存在(或帐户未处于活动状态),因此不会导入数据

如何通过 Google Ads API 获取已注销的帐户?

从MCC获取所有Google Ads标签。也是客户帐户中其他用户创建的一次

如何在 google ads api 中设置请求标头

使用服务帐户时如何修复 google ads api 未经授权的错误

在 Google Cloud Platform Console 上启用 Google Ads API 的问题