Google Sheets是否停止了对json的访问? [英] Did Google Sheets stop allowing json access?
本文介绍了Google Sheets是否停止了对json的访问?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个应用程序,可以打开我发布到Web上的电子表格的json版本。我使用了这个网站上的说明:https://www.freecodecamp.org/news/cjn-google-sheets-as-json-endpoint/
它已经正常运行了几个月,但今天我意识到我的json文件的url从昨天开始就不再工作了。它会显示一条消息,对不起,此时无法打开文件。请检查地址并重试。但是,将电子表格作为网页查看的常规链接仍然有效。Google是否放弃了对此功能的支持?有没有其他方法可以通过URL获得json格式的电子表格数据?我开始研究Google开发人员API,但它真的很令人困惑。
推荐答案
您正在使用Google Data protocol的JSON Alt Type variant。这一协议已经过时,似乎不再可靠地发挥作用。GData API Directory告诉:
Google Sheets API v4是一个现代的RESTful界面,通常与client library一起使用,以处理数据请求的身份验证和批处理。如果您不想做一个全面的客户端实现,David Kutcher使用jQuery为Gdata JSON Alt Type提供了以下v4模拟:Google电子表格数据API:GData版本仍在运行。替换为Google Sheets API v4。
Gdata(旧版本,不推荐):
var url = 'https://spreadsheets.google.com/feeds/list/' +
spreadsheet_id + '/' + tab_ordinal + '/public/values?alt=json';
($.getJSON(url, 'callback=?')).success(function(data) {
// ...
};
V4(新版本,推荐):
var url = 'https://sheets.googleapis.com/v4/spreadsheets/' +
spreadsheet_id + '/values/' + tab_name +
'?alt=json&key=' + api_key;
($.getJSON(url, 'callback=?')).success(function(data) {
// ...
};
...其中:
spreadsheet_id
是电子表格地址中的字母和数字的长字符串-它是/d/
和/edit
之间的位tab_ordinal
是页码-选项卡栏中出现的第一张是页码1
,第二张是2
,依此类推tab_name
是工作表的名称,即当您打开电子表格进行编辑时,您在窗口底部的选项卡栏中看到的名称api_key
是您从Google Cloud Platform console获取的API密钥
请注意,两个版本的JSON输出格式不同。
使用GData模式时,需要将电子表格共享为文件&>共享&>发布到Web。
使用V4模式时,需要将电子表格共享为文件&>共享&>与他人&>任何具有链接的人都可以查看。
这篇关于Google Sheets是否停止了对json的访问?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文