Google Sheets是否已停止支持公开JSON访问功能?
问题解答
功能下架说明
你之前使用的非官方Google Sheets公开JSON端点确实已被谷歌在2024年中正式下线,这就是原有URL失效但表格网页访问正常的核心原因,该接口本身就不属于谷歌公开承诺的稳定API服务,此前属于谷歌未公开的内部接口,随时可能下线。
低门槛替代方案
方案1:用Google Apps Script快速搭建专属JSON端点(无需申请复杂API权限)
操作步骤仅需5步:
- 打开你的目标Google表格,点击顶部菜单栏「扩展程序」>「Apps Script」进入脚本编辑器
- 删除默认的示例代码,粘贴下方代码,修改代码里的工作表名称为你自己的表名
function doGet() { // 替换为你要导出的工作表名称 const targetSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1"); const allData = targetSheet.getDataRange().getValues(); // 拿第一行作为JSON的键名 const headers = allData[0]; // 把表格数据转成对象数组 const jsonData = allData.slice(1).map(row => { return headers.reduce((res, key, index) => { res[key] = row[index]; return res; }, {}) }) // 返回JSON格式响应 return ContentService.createTextOutput(JSON.stringify(jsonData)) .setMimeType(ContentService.MimeType.JSON) }
- 点击编辑器顶部的「部署」按钮,选择「新建部署」
- 部署类型选「网络应用」,执行身份选「我」,有权访问的人选「任何人,甚至匿名用户」,点击部署完成授权
- 复制生成的网络应用URL,直接GET请求该URL即可拿到表格的JSON数据,和你之前的使用逻辑完全一致
注意:免费版Apps Script每日调用配额为10万次,足够绝大多数个人项目使用,配额耗尽前不会出现访问异常。
方案2:静态导出+定时同步(适合调用量极高的场景)
- 进入表格的「文件」>「共享」>「发布到网络」,选择对应工作表,发布格式选CSV,拿到CSV访问链接
- 在你自己的服务端写10行以内的简单脚本,定时拉取CSV转成JSON存在本地,你的应用直接访问自己服务端的JSON地址即可,稳定性完全自主可控。
内容的提问来源于stack exchange,提问作者Dima
相关产品推荐
相关产品推荐

