如何在Azure Data Factory中用OAuth 2.0访问Google Sheets API并自动化写入(2025)
Azure Data Factory 写入 Google Sheets 2025 可行自动化方案
方案1:服务账号+OAuth 2.0服务端认证(推荐生产环境)
这是Google官方推荐的无人工干预自动化方案:
- 在Google Cloud Console创建服务账号,下载JSON格式的密钥文件
- 打开目标Google Sheets,将服务账号密钥文件中的
client_email字段对应的邮箱添加为表格编辑者 - 在ADF中配置Google Sheets链接服务:
- 选择「服务账号」认证方式
- 上传密钥文件或直接粘贴密钥内容
- 测试连接通过后,即可在复制活动/数据流中直接配置写入规则(覆盖/追加等)
方案2:OAuth 2.0刷新令牌自动轮换(适合个人账号场景)
依赖个人OAuth授权时,可通过自动刷新令牌实现无人值守:
- 手动完成初始OAuth授权,获取刷新令牌(注意:Google Workspace内部应用可申请长期刷新令牌,普通外部应用刷新令牌默认7天有效期)
- 将客户端ID、客户端密钥、刷新令牌存入Azure Key Vault,避免明文暴露
- 在ADF中添加Web活动,调用Google令牌刷新接口获取新访问令牌:
- 请求URL:
https://oauth2.googleapis.com/token - 请求方法:POST
- 请求体:
grant_type=refresh_token&client_id=@secrets('KeyVault名称','客户端ID')&client_secret=@secrets('KeyVault名称','客户端密钥')&refresh_token=@secrets('KeyVault名称','刷新令牌')
- 请求URL:
- 把Web活动返回的
access_token通过动态内容传递给Google Sheets链接服务,后续复制活动使用该链接服务完成写入
方案3:Azure Function中转(适合复杂数据处理场景)
需自定义数据转换、异常处理逻辑时,可通过Azure Function中转实现:
- 创建Azure Function,使用Google Sheets API客户端库(基于服务账号认证)编写写入逻辑
- 在ADF中调用Azure Function活动,传入待写入的数据(可通过数据集参数传递)
- Function负责处理数据格式转换、写入操作及重试逻辑,完成后返回结果给ADF
通用注意事项
- 必须在Google Cloud Console中启用Google Sheets API,否则所有请求都会失败
- 使用服务账号时,确认Sheets共享权限已正确授予服务账号邮箱
- 若使用刷新令牌,定期检查令牌有效期,避免因过期导致任务失败
内容的提问来源于stack exchange,提问作者Julie
相关产品推荐
相关产品推荐

