我正在尝试从cron读取文档:
https://sheets.googleapis.com/v4/spreadsheets/<sheet_id>?key=<api_key>
任何链接的人都可以使用我的文档。
My #1 key settings:
Application restrictions:
- IP addresses (web servers, cron jobs, etc.) - I added my external IP address.
- API restrictions - none
My #2 key settings:
Application restrictions:
- IP addresses (web servers, cron jobs, etc.) - I added my external IP address.
- API restrictions - Google Sheets API
My #3 key settings:
Application restrictions:
- IP addresses (web servers, cron jobs, etc.) - I added my external IP address.
- API restrictions - Google Sheets API, Google Drive API
My #4 key settings:
Application restrictions:
- IP addresses (web servers, cron jobs, etc.) - none
- API restrictions - Google Sheets API
My #5 key settings:
Application restrictions:
- IP addresses (web servers, cron jobs, etc.) - none
- API restrictions - Google Sheets API, Google Drive API
My #6 key settings:
Application restrictions:
- IP addresses (web servers, cron jobs, etc.) - none
- API restrictions - none
当我尝试使用每个键打开文档时,出现403错误:
{
"error": {
"code": 403,
"message": "The caller does not have permission",
"status": "PERMISSION_DENIED"
}
}
使用API资源管理器(https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/get)时,会发生相同的错误。
同时,该文档本身可以通过任何计算机和任何浏览器的链接成功打开,甚至可以打开未授权用户的链接。
这个问题开始于7月9日晚上9:35(UTC + 0)。
在发生此错误之前,我已经成功使用#1 key settings
从文档中接收了数据。
更新:
我发现了另一个奇怪的细微差别:在所有其他文档上都没有这样的问题。在一个特定的文档上观察到错误。我将访问设置与其他设置进行了比较-它们是相同的。
更新2:
我试图复制该表并通过API打开它-错误是相同的。 一个小时后,我再次尝试-一切正常。
答案 0 :(得分:1)
看到HoverPhoenix评论后,我在 Viewer 模式下将对我的工作表的访问权限更改为**任何具有链接的人**。
更改访问权限后,它可以正常工作。如果要考虑数据安全性,那么最好的选择是使用OAuth 2.0客户端ID作为凭据。
答案 1 :(得分:0)
如@thinktwice所说,建议打开工作表中的Anyone with the link
选项。
我正在使用python,而这个created_spreadsheet.share('', role='reader', type='anyone')
对我有用。