提问者:小点点

不使用Oauth令牌访问Google电子表格API


我读过谷歌电子表格留档https://developers.google.com/sheets/api/guides/authorizing它说,如果文档是公共的,你不需要Oauth 2.0和API密钥就足够了。我试图做一个测试请求与Hurl和api键parameter.it,但它仍然给我错误,我需要使用Oauth,有什么想法吗?

邮递https://sheets.googleapis.com/v4/spreadsheets/16woR-nfy6KYBbkQpC2YOT1GzIean8rTzjueUnlzLMiE/values/Sheet1!A1:E1:append?valueInputOption=用户输入

响应:"错误":{"code": 401,"消息":"请求缺少所需的身份验证凭据。期望OAuth 2访问令牌、登录cookie或其他有效的身份验证凭据。请参阅https://developers.google.com/identity/sign-in/web/devconsole-project.,状态:UNAUTHENTICATED}


共3个答案

匿名用户

您可以使用以下格式:

https://docs.google.com/spreadsheets/d/{sheetID}/导出?格式=csv

在将sheetID替换为公共工作表后,与此URL建立URL连接,并像通常使用所选编程语言一样读取csv文件。

请注意,这只适用于可读的公共Google电子表格,当您不一定需要进行凭证jig和jive时,这有点像黑客

匿名用户

API密钥是不够的。您正在尝试使用电子表格。价值观需要OAuth授权的append:

授权需要以下OAuth作用域之一:

https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/drive.file
https://www.googleapis.com/auth/spreadsheets
For more information, see the [Auth Guide](https://developers.google.com/identity/protocols/OAuth2).

注意上面写着OAuth

匿名用户

在我的例子中,我需要将谷歌电子表格中的内容发布到网页上。我的解决方法是使用HTTP GET调用

收到https://sheets.googleapis.com/v4/spreadsheets/{电子表格ID}/values/{range}

在这个解决方案中使用javascript对象XMLHttpRequest,您只需要使用API键