You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用服务账号调用Google Ads API时遇NOT_ADS_USER认证错误求助

解决Google Ads API NOT_ADS_USER 认证错误

核心问题

你的google-ads.yaml中impersonated_email配置的是服务账号邮箱,但服务账号本身不是Google Ads的有效用户。Google Ads API要求服务账号必须模拟拥有目标客户账号权限的普通Google账号(或Workspace账号),而非服务账号自身。

修复步骤

1. 修改配置文件

更新google-ads.yaml的impersonated_email字段,替换为你拥有Ads管理员权限的个人邮箱(如your-admin-email@gmail.com或Workspace域邮箱):

json_key_file_path: 'service.json'
impersonated_email: 'your-ads-admin-email@example.com'  # 替换为你的Ads管理员邮箱
use_proto_plus: True
developer_token: 'developer_token'

2. 配置域范围委派(仅Google Workspace用户)

如果你的管理员邮箱是Workspace账号,需在Workspace后台给服务账号授权模拟权限:

  • 登录Workspace管理员后台,进入「安全」→「API控制」→「域范围委派」
  • 添加服务账号的客户端ID(从service.json的client_id字段获取)
  • 授权API范围:https://www.googleapis.com/auth/adwords
  • 保存设置

3. 将服务账号添加到Google Ads客户账号

服务账号无法接收邀请,需直接通过Ads管理员账号添加:

  • 登录Google Ads后台,进入目标客户账号
  • 打开「工具与设置」→「访问与权限」→「用户」
  • 点击「+」,输入服务账号邮箱(service_acc@project.iam.gserviceaccount.com)
  • 分配对应权限(如管理员),完成添加(无需接受,立即生效)

4. 验证代码参数

确保调用mutate_user_lists时传入的customer_id是不带横杠的10位数字(例如1234567890,而非123-456-7890)。

额外提示

  • 测试账号可能存在权限限制,确认已开通Customer Match相关功能
  • 检查developer_token是否与当前Ads账号绑定且有效

内容的提问来源于stack exchange,提问作者Mquinteiro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 03:05:32