如何阻止Google Ads API刷新令牌每5天被吊销?(Azure Data Factory场景)
解决Google Ads刷新令牌5天吊销及服务账户认证报错的可行步骤
一、先修复服务账户认证的Base64格式错误
你遇到的私钥报错是因为直接粘贴了JSON文件内容,而ADF要求的是Base64编码后的字符串,按以下步骤处理:
- 把下载的JSON私钥文件转换成Base64编码:
- 用PowerShell执行命令:
certutil -encode "你的私钥文件完整路径.json" output.txt,打开生成的output.txt,复制中间的Base64内容(要去掉开头的-----BEGIN CERTIFICATE-----、结尾的-----END CERTIFICATE-----以及空行) - 或者直接把JSON文件里的纯文本内容复制到Base64编码工具里生成编码字符串
- 用PowerShell执行命令:
- 将编码后的字符串完整粘贴到ADF链接服务的「私钥」字段,确保没有多余空格、换行
- 额外检查权限:把服务账户添加到Google Ads账户的「管理员」角色(在Google Ads后台的「访问与权限」模块操作),否则会出现权限不足的问题
二、阻止刷新令牌被吊销的替代方案
如果服务账户方案暂时卡壳,还可以试试这些方法:
- 申请测试豁免:向Google提交Google Ads API的测试豁免申请,说明你的场景是仅为特定客户做数据提取的内部工具,无需公开应用,请求延长测试模式下的刷新令牌有效期
- 配置内部应用:如果你的Google Cloud账户和客户的Google Ads账户同属一个Google Workspace组织,在OAuth同意屏幕设置里把应用类型改成「内部」,内部应用的刷新令牌不会频繁被吊销
- 自动刷新令牌机制:在ADF里建一个定时管道,每4天触发一次,用Web活动调用Google OAuth的刷新令牌接口,自动获取新的令牌后,通过ADF API或PowerShell脚本更新链接服务的凭据,避免手动操作
内容的提问来源于stack exchange,提问作者aash394
相关产品推荐
相关产品推荐

