Google api 如何在不使用oauth2的情况下使用电子表格API读取数据

Google api 如何在不使用oauth2的情况下使用电子表格API读取数据,google-api,google-sheets-api,google-api-javascript-client,Google Api,Google Sheets Api,Google Api Javascript Client,这是Google Sheets API上的另一个错误403。嗯,尝试从电子表格中读取数据并在网站上公开,使用一些自定义HTML过滤器 因此,有一个问题: 不过,我还是不知道该怎么办。我已经在谷歌云平台上设置了我的服务帐户,授予了it访问我的电子表格的权限——我甚至还通过链接访问了我的电子表格(但这仅限于来自我所在组织的电子邮件,所以它似乎毫无用处)。我还为我的服务帐户激活了域范围的委托-根本没有任何区别。我很确定这个问题与一个错误的键或一些打字错误无关,因为当我从工作表中删除对服务电子邮件的访

这是Google Sheets API上的另一个错误403。嗯,尝试从电子表格中读取数据并在网站上公开,使用一些自定义HTML过滤器

因此,有一个问题:

不过,我还是不知道该怎么办。我已经在谷歌云平台上设置了我的服务帐户,授予了it访问我的电子表格的权限——我甚至还通过链接访问了我的电子表格(但这仅限于来自我所在组织的电子邮件,所以它似乎毫无用处)。我还为我的服务帐户激活了域范围的委托-根本没有任何区别。我很确定这个问题与一个错误的键或一些打字错误无关,因为当我从工作表中删除对服务电子邮件的访问权限时,我会收到一个403错误,但它会显示一条消息,说打电话的人无权访问该电子表格

人们不断提到OAuth,但我不想使用它,因为我打算使用一个简单的API访问,如中所示。我正在使用我的商业帐户,因此可能存在一些相关问题

下面是HTML(我在python上从一个简单的HTTP服务器运行,而不是直接运行,因为GAPI不能很好地处理
localhost/
源代码):


GoogleSheetsAPI快速启动
GoogleSheetsAPI快速启动

授权 退出 //来自开发人员控制台的客户端ID和API密钥 var API_KEY='我的API KEY'; var DISCOVERY_DOCS=[”https://sheets.googleapis.com/$discovery/rest?版本=v4“]; 变量作用域=”https://www.googleapis.com/auth/spreadsheets.readonly"; 函数handleClientLoad(){ gapi.load('client',initClient); } 函数initClient(){ gapi.client.init({ API密钥:API_密钥, 发现文档:发现文档 }).then(函数(){listMajors();}) } 函数appendPre(消息){ var pre=document.getElementById('content'); var textContent=document.createTextNode(message+'\n'); pre.appendChild(文本内容); } 函数列表(){ gapi.client.sheets.spreadsheets.values.get({ 电子表格id:“我的电子表格id”, 范围:'Sheet1!A1:A10', }).然后(功能(响应){ var范围=响应。结果; 如果(range.values.length>0){ appendPre('姓名,专业:'); 对于(i=0;i
有没有人知道我遗漏了什么,或者我还能尝试什么


编辑:不能公开共享电子表格。这是一封商务电子邮件,因此,我在这里唯一的选择就是在整个域范围内共享它,正如我前面所说的。此外,这是一个业务电子表格,其中包含感知数据。把它公开是没有意义的。除此之外,我已经与服务电子邮件共享了电子表格。毕竟,我试图实现的是在不使用oauth的情况下从电子表格中读取数据,并将其添加到网站上(我知道有一个内置的嵌入工具,但这不适合我,因为我需要添加一个html过滤器)。

如果你试图访问一个非公开的电子表格,你必须使用。由于它不是公共资源,您必须使用有权访问此资源的帐户的凭据

在您提供的示例中,他们正在访问公共资源,因此API密钥就足够了。那不是你的情况

参考:

您正试图使用带有问题脚本的服务帐户访问Google电子表格。如果我的理解是正确的,我可以问一下脚本中服务帐户的使用位置吗?如果我误解了你的问题,我道歉。你完全理解了。我不直接申报。我甚至没有在文档中看到一些使用指南。我不知道该怎么做。谢谢你的回复。当使用服务帐户时,用户不需要登录谷歌。在本例中,我认为您可以在不使用python服务器的情况下创建包含Javascript的HTML。但我不确定你的目标。那么我可以问一下您的目标吗?是的,python服务器仅用于本地测试目的。我的目标是从电子表格中读取数据并在网站上显示,但我需要一个过滤器,所以默认的谷歌电子表格嵌入选项不适合我。谢谢你的回复。例如,在您的实际情况中,电子表格可以作为只读文件公开共享?如果可以,从共享电子表格中检索值如何?在这种情况下,可以使用API键检索值,脚本比使用服务帐户更简单。只是澄清一下-如果我想在我的HTML页面上嵌入给定的电子表格,访问页面的用户将被提示从他的Google用户处授予我的页面访问权限,到电子表格?@LucasLima您如何将电子表格嵌入到您的页面?这是通过iframe实现的吗?我并不是真的想嵌入它。我试图从电子表格中读取数据,然后将其显示在HTML表格中——原因是我希望用户能够过滤这些值,而且,好吧,标准嵌入不允许这样做。所以,虽然我还没有走到这一步,但我不认为这会成为我过程中的一件事。建议是最受欢迎的,btw@LucasLima在这种情况下,您可以向服务器发出请求,在该请求中,您可以使用您的服务帐户请求所需的数据