无法使用表格API

时间:2018-07-17 23:37:34

标签: google-sheets-api

一年多来,我一直在网页上使用Google Sheets APIv4来显示公开共享的Google Spreadsheet中的数据。

即使我们没有任何改变,sheets API现在仍返回403(权限被拒绝)错误。我要访问的工作表是我拥有的工作表,并且共享设置确实正确。

此问题已于18年7月17日报告给我。

我正在使用Javascript访问公共表,并且由于不需要身份验证,因此仅指定了API密钥。

如果我尝试在“来宾”浏览器窗口中使用公共网址打开公共表格,则该表格可见,并且无需身份验证。

为什么API会突然拒绝阅读公开的表格?

这是我用来检索公开表的代码。

gapi.client.init({
            'apiKey': 'AIzaSyC5fTcQun-1r83DVWlPmGAZpoUGPNcuM34',
            'discoveryDocs': ['https://sheets.googleapis.com/$discovery/rest?version=v4']
        }).then(function() {
            return gapi.client.sheets.spreadsheets.values.get({
                'spreadsheetId': '1e3KBd0277mz79IgxNch1-lwWdlJGiJQSe2eMNcXWYes',
                 'range': 'Sheet1!A:E'
            });
 }, errorMessage).then(function(response) { // Code to process the response });

在链接到读取公共电子表格的脚本的html文件的顶部,通过插入脚本标签加载gapi,该脚本标签的src标签=“ https://apis.google.com/js/api.js

然后,我使用gapi.load('client',getData)捕获客户端库加载事件,其中getdata是包含上面引用的代码段的函数的名称。

以下是公开页面上的direct URL

注意:上面代码中的API密钥仅限于我们的域。

如果我稍稍更改代码并使其需要授权,则通过将OAuth clientId和Scope添加到gapi.client.init()调用中,工作表API确实会成功检索电子表格,但这使对象失败公开表的内容。

Here is a snapshot of the sharing settings on the public sheet

0 个答案:

没有答案