Google Sheets是否停止了对json的访问? [英] Did Google Sheets stop allowing json access?

查看:14
本文介绍了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 protocolJSON Alt Type variant。这一协议已经过时,似乎不再可靠地发挥作用。GData API Directory告诉:

Google电子表格数据API:GData版本仍在运行。替换为Google Sheets API v4。

Google Sheets API v4是一个现代的RESTful界面,通常与client library一起使用,以处理数据请求的身份验证和批处理。如果您不想做一个全面的客户端实现,David Kutcher使用jQuery为Gdata JSON Alt Type提供了以下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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆