为什么Google Spreadsheet导出JSON的URL无法正常使用了?
问题原因
你之前使用的是Google Sheets Data API v3版本的接口,Google已于2024年3月正式关停该版本API的所有公开访问路径,因此原有格式的JSON链接会直接无法访问,属于官方接口迭代导致的正常变动,和你的应用代码无关。
解决方法
前置检查
- 打开对应Google表格,点击右上角「共享」按钮,将通用访问权限设置为知道链接的任何人都可以查看,保存设置。
方案一:使用官方可视化导出接口(无需申请API密钥,改动量最小)
直接用如下格式的URL替换原有链接即可:https://docs.google.com/spreadsheets/d/[你的表格ID]/gviz/tq?tqx=out:json
你当前使用的表格对应可直接调用的链接为:https://docs.google.com/spreadsheets/d/1HljdyhGauam-1WYa_C1ho2KOQMUrbGUuR3s5OEU8XtE/gviz/tq?tqx=out:json
注意:该接口返回的内容首尾会有非JSON格式的冗余字符,开头为
/*O_o*/\ngoogle.visualization.Query.setResponse(,结尾为);,你只需要在JSON解析前,将返回字符串的首尾冗余部分切除,即可得到标准格式的表格数据,仅需修改少量解析逻辑即可复用原有代码,无需切换数据库方案。
方案二:切换到Google Sheets API v4(适合需要复杂读写操作的场景)
如果后续你需要对表格进行写入、权限控制等进阶操作,可以申请Google Cloud的Sheets API v4密钥接入即可,接口兼容性和功能性更强,不过对于仅需要读取数据的词典类应用,方案一已经完全可以满足需求。
内容的提问来源于stack exchange,提问作者רועי פנחסי
相关产品推荐
相关产品推荐

