无Google Workspace域时,如何用服务账号访问Google Ads API?
Google Ads API 无用户参与访问相关问题解答
Q1:对于这种无用户参与的“程序到程序”API访问,是否必须采用service account认证方案?
不一定必须用服务账号。你可以选择OAuth2 刷新令牌方案实现无用户介入的自动化访问:
- 先通过一次手动授权(用你的Google Ads账号登录)获取刷新令牌
- 后续脚本可通过该刷新令牌自动生成访问令牌,无需重复手动操作,完全适配cron定时任务的无人值守场景
Q2:服务账号文档要求拥有Google Workspace Domain,但我司网站、邮箱由其他服务商托管,是否必须付费开通该域名才能使用Google Ads API?有无替代解决方案?
不需要付费开通Google Workspace。OAuth2 刷新令牌方案就是最优替代方案,具体操作流程如下:
- 在Google Cloud控制台创建OAuth2客户端ID,类型选「桌面应用」或「其他」即可,无需绑定特定域名
- 手动访问生成的授权URL,用你的Google Ads账号完成登录和授权,获取授权码
- 通过授权码兑换得到访问令牌与刷新令牌
- 在Laravel命令脚本中,使用刷新令牌定期获取新的访问令牌,即可调用Google Ads API获取数据
如果你的Google Ads账号是个人或普通企业账号(未绑定Google Workspace),该方案完全能满足定时任务的无用户参与需求。
内容的提问来源于stack exchange,提问作者wanderlusted
相关产品推荐
相关产品推荐

