gpt4 book ai didi

javascript - Google Sheets v4 更新效果 JSON 端点数据? 2021 年 6 月 8 日关闭

转载 作者:行者123 更新时间:2023-12-05 00:34:48 25 4
gpt4 key购买 nike

enter image description here
我读了 article关于 Google Sheet API v4 更新。我需要更改当前的代码结构吗?
我正在使用 simple JSON data用于在网络上显示 Google 表格数据。我在网上做了一些 PHP 和 JavaScript 基础项目,使用下面的代码:

.HTML
var sf = https://spreadsheets.google.com/feeds/list/1l7VfPOI3TYtPuBZlZ-JMMiZW1OK6rzIBt8RFd6KmwbA/1/public/values?alt=json

$.getJSON(sf, function(data) {
var sd = data.feed.entry;

key = data.feed.entry[i]['gsx$key']['$t'];
name = data.feed.entry[i]['gsx$name']['$t'];
img = data.feed.entry[i]['gsx$img']['$t'];
rice = data.feed.entry[i]['gsx$price']['$t'];

.php

$url = 'https://spreadsheets.google.com/feeds/list/1l7VfPOI3TYtPuBZlZ-JMMiZW1OK6rzIBt8RFd6KmwbA/1/public/values?alt=json';
$file = file_get_contents($url);
$json = json_decode($file);

$rows = $json->{'feed'}->{'entry'};

$key = $row->{'gsx$key'}->{'$t'};
$price = $row->{'gsx$price'}->{'$t'};
$img = $row->{'gsx$img'}->{'$t'};
$name = $row->{'gsx$name'}->{'$t'};

我真的需要更新什么吗?

最佳答案

我相信你的目标如下。

  • 您想将端点从 Sheets API v3 更改为其他端点。

  • 问题和解决方法:
    在 Sheets API v3 中,可以在没有访问 token 和 API key 的情况下使用此 API。但在 Sheets API v4 的情况下,需要使用访问 token 和/或 API key 。这似乎是当前的规范。当我看到你的脚本时,没有使用访问 token 和 API key 。因此,在这个答案中,作为一种解决方法,我想提出一种在没有访问 token 和 API key 的情况下从电子表格中检索值的方法。端点如下。
    https://docs.google.com/spreadsheets/d/{spreadsheetId}/gviz/tq
    这是与查询语言一起使用的端点。重要的一点是,在这种情况下,Google 电子表格需要作为 Web 发布来发布。请注意这一点。当我看到您的电子表格的 URL 时,电子表格似乎是作为 Web 发布发布的。因此,您的电子表格可以与以下脚本一起使用。
    在这个答案中,使用了 Javascript 脚本。
    示例脚本 1:
    在此示例脚本中,电子表格的值直接作为 CSV 数据检索。
    var sf = "https://docs.google.com/spreadsheets/d/1l7VfPOI3TYtPuBZlZ-JMMiZW1OK6rzIBt8RFd6KmwbA/gviz/tq?tqx=out:csv";
    $.ajax({url: sf, type: 'GET', dataType: 'text'})
    .done(function(csv) {
    console.log(csv);
    })
    .fail((e) => console.log(e.status));
    示例脚本 2:
    在此示例脚本中,Spreadsheet 的值作为 JSON 数据检索,并将其解析为标题行和值。
    var sf = "https://docs.google.com/spreadsheets/d/1l7VfPOI3TYtPuBZlZ-JMMiZW1OK6rzIBt8RFd6KmwbA/gviz/tq?tqx=out:json";
    $.ajax({url: sf, type: 'GET', dataType: 'text'})
    .done(function(data) {
    const r = data.match(/google\.visualization\.Query\.setResponse\(([\s\S\w]+)\)/);
    if (r && r.length == 2) {
    const obj = JSON.parse(r[1]);
    const table = obj.table;
    const header = table.cols.map(({label}) => label);
    const rows = table.rows.map(({c}) => c.map(e => e ? (e.v || "") : "")); // Modified from const rows = table.rows.map(({c}) => c.map(({v}) => v));

    console.log(header);
    console.log(rows);
    }
    })
    .fail((e) => console.log(e.status));
    示例脚本 3:
    例如,当使用 Sheets API v4 时,示例脚本如下。在这种情况下,使用 API key 。并且需要公开共享电子表格。请注意这一点。
    var url = "https://sheets.googleapis.com/v4/spreadsheets/1l7VfPOI3TYtPuBZlZ-JMMiZW1OK6rzIBt8RFd6KmwbA/values/Sheet1?key=###"
    $.getJSON(url, function(data) {
    console.log(data.values);
    });
    引用:
  • Query Language Reference
  • Response Format
  • Method: spreadsheets.get of Sheets API v4
  • 关于javascript - Google Sheets v4 更新效果 JSON 端点数据? 2021 年 6 月 8 日关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66472824/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com