【问题标题】:How do I fetch Google Spreadsheet data from Javascript in Sheets v4 API as JSON? [duplicate]如何从 Sheets v4 API 中的 Javascript 作为 JSON 获取 Google 电子表格数据? [复制]
【发布时间】:2021-09-03 13:29:49
【问题描述】:

以下是我尝试从 Google 表格中获取数据的方式。 但是,这种方法似乎在 Sheets V4 API 中已被弃用。 它不再起作用了。 可能还有其他方法可以从 Google 表格中获取数据。

var url = "https://spreadsheets.google.com/feeds/cells/1hA4LKZn9yKoqnSzaI6_73GQSj_ZVpB3O0kC93QM98Vs/od6/public/basic?alt=json";
$.ajax({
    url:url,
    dataType:"jsonp",
    success:function(data) {
        // data.feed.entry is an array of objects that represent each cell
    },
});

如何从 Sheets v4 API 中的 Javascript 获取 JSON 格式的 Google 电子表格数据?

【问题讨论】:

  • dataType:"jsonp"改成dataType:"json"?
  • 感谢您的评论。但同样的 404 错误也会发生。
  • 如果 https://spreadsheets.google.com/feeds/cells/1hA4LKZn9yKoqnSzaI6_73GQSj_ZVpB3O0kC93QM98Vs/od6/public/basic?alt=json 给出 404。您是否有权访问该文档?
  • 按照以下建议修改网址
  • 谢谢,@MikeSteelson。现在可以使用了。

标签: javascript google-sheets google-api


【解决方案1】:

feeds 在 V4 中已弃用。看到这个帖子404 while trying to fetch sheet data as json

function getJson(id,gid){
  var txt = UrlFetchApp.fetch(`https://docs.google.com/spreadsheets/d/${id}/gviz/tq?tqx=out:json&tq&gid=${gid}`).getContentText();
  var jsonString = txt.match(/(?<="table":).*(?=}\);)/g)[0]
  var json = JSON.parse(jsonString)
  return(json)
}
  • 带有电子表格的 id 和工作表的 gid(可能为 0)
  • 请注意,第一行专用于标签,然后 rows[0] 对应于第 2 行,c[0] 对应于 A 列
  • 如果要检索 B1(第 2 列第 1 行):json.cols[1].label
  • 如果要检索 B2(第 2 列第 2 行):json.rows[0].c[1].v

【讨论】:

  • 如果这个问题已经回答了,确定标记为重复吗?
  • 也许,我的答案必须适应 jQuery 和 ajax ......所以我会留下一段时间等待 EI Joier 的意见
  • 嗨@MikeSteelson。这很有帮助。我想知道描述这些索引的文档,例如'gvix'、'tq'、'tqx'和'gid'。
  • 抱歉,我不太清楚......我在我的项目中只使用这种语法/gviz/tq?tqx=out:json&amp;tq!我能说的是,作为输出格式,您可以使用tqx=out:csvtqx=out:htmltqx=out:json(待验证/测试),tq 可以与查询tq={query} 相关联...如果您在文档中找到任何内容,请告诉我。
  • 哦,我找到了。这可能会有所帮助。 ai2.metricrat.co.uk/guides/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-18
相关资源
最近更新 更多