Python调用Google Ads API报403 insufficient authentication scopes错误如何解决
问题排查解决方案
你遇到的403 Request had insufficient authentication scopes错误由授权配置问题导致,按以下步骤逐一排查即可修复:
- 第一步:清理
googleads.yaml的授权配置,两种授权流只能选一种,不能同时保留配置
如果你用的是安装应用授权流(即通过generate_refresh_token.py生成refresh_token的方式),请将yaml文件中path_to_private_key_file: ads.json这行删除或注释,不要保留服务账号相关配置;
如果你用的是服务账号授权流,请将yaml文件中client_id、client_secret、refresh_token三行删除或注释,同时确认服务账号已被添加到Google Ads账号的管理员列表,且已开通全域委派权限。 - 第二步:确认refresh_token生成时使用的授权范围正确
Google Ads API要求必须使用https://www.googleapis.com/auth/adwords作为唯一授权scope,如果你生成refresh_token时使用了其他Google服务的scope,会直接触发该错误。请使用正确scope重新生成refresh_token,替换配置文件中的旧值。 - 第三步:检查
login_customer_id配置
如果你要访问的是MCC名下的子账号,login_customer_id需要填写上级MCC的纯数字ID,不能填子账号ID;如果你没有使用MCC账号结构,直接将login_customer_id这行注释即可。 - 第四步:确认账号权限匹配
生成OAuth凭证所用的Google账号,必须是对应Google Ads账号的协作者/管理员,同时该账号对Developer Token所属的Google Ads账号有访问权限。
内容的提问来源于stack exchange,提问作者jerego
相关产品推荐
相关产品推荐

