将我的客户Analytics(分析)帐户与我自己的AdWords帐户相关联

时间:2018-06-29 08:29:59

标签: google-analytics google-api google-analytics-api google-adwords

我拥有AdWords经理帐户,在其中我为每个客户创建了子帐户。 我想通过此过程与我的客户分析帐户共享那些AdWords帐户:

1-我的客户以管理员用户的身份将我的API帐户电子邮件(services@project.gserviceaccount.com)添加到其分析帐户中。

2-我要求他们给我Analytics(分析)accountId和webPropertyId

3-我将此请求与我的AdWords帐户的ID一起用于customerId:

  credentials = ServiceAccountCredentials.from_json_keyfile_name(
  KEY_FILE_LOCATION, 'https://www.googleapis.com/auth/analytics.edit')

  analytics = build('analytics', 'v3' , credentials=credentials)

  analytics.management().webPropertyAdWordsLinks().insert(
  accountId='123456',
  webPropertyId='UA-123456-1',
  body={
      'adWordsAccounts': [
          {
              'customerId': '123-456-7890'
          }
      ],
      'name': 'AdWords Link'
  }).execute()

我收到此错误:

googleapiclient.errors.HttpError: <HttpError 403 when requesting https://www.googleapis.com/analytics/v3/management/accounts/177372348/webproperties/UA-121121420-1/entityAdWordsLinks?alt=json returned "User does not have sufficient permissions for this account."> 

我做错了什么?

1 个答案:

答案 0 :(得分:1)

根据documentation,要链接Adwords和Analytics(分析)帐户,用户需要具有对Analytics(分析)属性的“编辑”权限和对Adwords帐户的“管理”权限。

我的猜测是您的服务帐户用户services@project.gserviceaccount.com在您要链接的Adwords帐户中没有管理员权限。

您应该只需将push()作为管理员添加到您的经理帐户中,这样便可以在任何关联的Adwords帐户中将其授予管理员权限。