gpt4 book ai didi

javascript - 如何在使用 Javascript 中的 Oauth 授权将 Google Sheets API v3 迁移到 v4 后实现 makeApiCall() 方法

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

Google 已经构建了 Google Sheets API 的第 4 版,但其文档仍处于第 3 版。没有关于如何使用 Google Sheets API v4 实现简单的 OAuth 身份验证的完整示例。

我看到迁移指南 here我还看到了部分示例 here但是找不到完整的例子。“当前”版本是 here最后一次更新是在 2018 年 10 月,没有提供 v4 示例。

假设在我授权用户后,我试图读取工作簿 2 中的特定电子表格,并且我明确指定了我需要的列。然后我使用 Google Visualization API 呈现该信息。

下面是我在旧版 Google 表格 v3 中的操作方法。

function makeApiCall() {
var queryString = encodeURIComponent('SELECT A,B,C,E,H');
var tqURL = new google.visualization.Query(
'https://docs.google.com/spreadsheets/d/*yourspreadsheetid*/gviz/tq?gid=*yourworkbookid*&headers=1&tqx=responseHandler:handleTqResponse' + '&access_token=' + encodeURIComponent(gapi.auth.getToken().access_token));
tqURL.send(handleTqResponse);
}

function handleTqResponse(resp) {
var dataTable = resp.getDataTable();
}

对于 v4,如果我遵循这个部分示例 here , 如何将 tqURL 转换为 GET 方法?以及我如何仍能获得作为 DataTable() 的响应 (rsp)?

    function makeApiCall() {
var params = {
spreadsheetId: 'my-spreadsheet-id', // all clear here
//what about workbook gid?
// The ranges to retrieve from the spreadsheet.
ranges: [], // [A:A,B:B,C:C,E:E,H:H) ????
includeGridData: false,
//no need to include the access_token here?
};

var request = gapi.client.sheets.spreadsheets.get(params);
request.then(function(response) {
console.log(response.result);
//var dataTable = responce.getDataTable(); ??
}, function(reason) {
console.error('error: ' + reason.result.error.message);
});
}

最佳答案

我不相信 Visualization API 有类似的东西在表格 API(V4) 中。从技术上讲,可视化 API 实际上并不是旧版 Sheets API (V3) 的一部分。如果有的话,它是 Charts API 的一部分。所以您应该能够继续使用它。

您甚至可以在 GAS 中直接在服务器端使用它(参见 Using Bound Google Scripts to Generate a Query Object)。

关于javascript - 如何在使用 Javascript 中的 Oauth 授权将 Google Sheets API v3 迁移到 v4 后实现 makeApiCall() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55770541/

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