我拥有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.">
我做错了什么?
答案 0 :(得分:1)
根据documentation,要链接Adwords和Analytics(分析)帐户,用户需要具有对Analytics(分析)属性的“编辑”权限和对Adwords帐户的“管理”权限。
我的猜测是您的服务帐户用户services@project.gserviceaccount.com
在您要链接的Adwords帐户中没有管理员权限。
您应该只需将push()
作为管理员添加到您的经理帐户中,这样便可以在任何关联的Adwords帐户中将其授予管理员权限。