Azure Data Factory对接Google Sheets权限报错及OAuth/服务账号配置咨询
解决Azure Data Factory连接Google Sheets的403权限问题及服务账号认证配置
一、当前API密钥方式的403问题排查
- 确认Google Sheets共享权限:确保已将表格共享给API密钥所属Google Cloud项目的服务账号邮箱,且权限设置为可查看或更高(不能仅评论);若表格属于Google Workspace组织,需在Workspace管理员控制台中允许该服务账号访问组织内的表格资源。
- 验证API密钥关联的项目配置:确认Google Cloud项目已启用Google Sheets API,且API密钥的限制设置中没有意外添加的IP或域名限制(即使设置为无应用限制,也需检查是否有隐性限制)。
- 检查ADF数据流源配置:确认工作表名称(如
Sheet1)拼写完全匹配,数据范围(如A2:B3)属于表格已存在的区域;同时确认链接服务的测试连接是成功的,避免配置不一致。
二、服务账号(OAuth)认证配置步骤
如果你倾向使用更安全的服务账号认证,可按以下步骤配置:
- 创建并获取服务账号密钥
- 登录Google Cloud Console,进入目标项目,在「IAM与管理」>「服务账号」页面创建新服务账号。
- 为服务账号分配「Editor」或「Sheets Viewer」角色(根据需求选择),然后点击「添加密钥」>「创建新密钥」,选择JSON格式下载密钥文件。
- 配置ADF Google Sheets链接服务
- 在Azure Data Factory中,创建新的Google Sheets链接服务,认证方式选择服务账号。
- 上传下载的JSON密钥文件,输入Google Sheets API的端点(默认
https://sheets.googleapis.com/v4即可),测试连接确认成功。
- 共享Google Sheets给服务账号
- 打开目标Google Sheets,点击右上角「共享」,输入服务账号JSON文件中的
client_email字段值,设置权限为「查看者」或「编辑者」。
- 打开目标Google Sheets,点击右上角「共享」,输入服务账号JSON文件中的
- 配置数据流并测试
- 在ADF数据流中选择该链接服务作为源,填写正确的工作表名称和数据范围,运行调试验证数据是否正常获取。
错误信息参考
你遇到的错误内容如下:
at Source 'GoogleSheetsOutput': Failure to read most recent page request: DF-REST_001 - Error response from server: Some({
"error": {
"code": 403,
"message": "The caller does not have permission",
"status": "PERMISSION_DENIED"
}
}), Status code: 403. Please check your request url and body. (url:https://sheets.googleapis.com/v4/spreadsheets/<my_spreadsheet_id>/values/Sheet1!A2:B3,request body: None, request method: GET)
内容的提问来源于stack exchange,提问作者Julie
相关产品推荐
相关产品推荐

