长期使用的Google Sheets转JSON链接无法打开,求故障原因及替代方案
故障原因
你此前使用的是Google Sheets v3版本的GData公开列表接口,该接口已被谷歌官方正式关停,全量下线后所有旧格式的调用请求都会返回访问失败提示,该故障属于官方服务端停用导致的普遍问题,和你本地的配置无关。
替代方案
方案1:调用Google Sheets API v4获取JSON数据
适用需要稳定批量调用的场景:- 提前将目标表格权限设置为「任何人可查看」
- 到Google Cloud控制台开通Google Sheets API并获取公开API密钥
- 按如下格式调用接口即可获取结构化数据:
https://sheets.googleapis.com/v4/spreadsheets/{表格ID}/values/{工作表名}!A:Z?key={你的API密钥},返回数据可直接二次处理为你需要的键值对JSON格式
方案2:用Google Apps Script自定义导出接口
适用小体量、不需要申请API密钥的场景:- 打开目标表格,点击顶部菜单「扩展程序」-「Apps Script」进入脚本编辑页
- 替换默认代码为读取表格数据转JSON的逻辑,将脚本部署为Web应用,权限设置为「任何人,甚至匿名用户」可访问
- 部署完成后拿到的Web应用URL直接访问即可返回自定义格式的JSON数据,灵活度更高
方案3:通过公开CSV导出转换为JSON
适用轻量使用场景:
表格公开后,直接请求格式为https://docs.google.com/spreadsheets/d/{表格ID}/gviz/tq?tqx=out:csv&sheet={工作表名}的链接获取CSV内容,用常规的CSV转JSON工具类处理即可得到目标格式的JSON数据。
补充说明:以上三种方案都要求目标表格保持公开查看权限,若需要访问非公开表格,调用时需额外携带OAuth2认证凭证
内容的提问来源于stack exchange,提问作者Daksh Rawal
相关产品推荐
相关产品推荐

