Google Drive API表示某些文件实际上并不存在

时间:2014-04-30 00:50:24

标签: google-drive-api google-sheets google-spreadsheet-api

所以,我已经在我的应用程序中找到了一点,我可以使用Google Spreadsheet API从用户的Google云端硬盘帐户中检索电子表格文档列表。我在用户可以单击的ui控件中填充文件列表,然后检索其工作表的列表。它在某些情况下按预期工作,但在其他情况下则不然。在我的请求中,我使用从文件列表返回的URL,即便如此,API也会响应:

Sorry, the file you have requested does not exist.
Make sure that you have the correct URL and that the owner of the file hasn't deleted it.

嗯,肯定没有删除该文件。我在回复我对文件列表的请求时得到了它。我也可以通过普通的网络浏览器访问该文件。此外,URL是正确的,因为这是API响应的那个。我的代码不会操纵在初始文件响应中返回的url。实际上,这是用于获取工作表的URL:

https://spreadsheets.google.com/feeds/worksheets/{long key here}/private/full

所以,我的问题是为什么我对某些工作表的请求会返回对实际工作表列表的响应,但在其他工作表上(我有权访问,我知道存在)我得到了错误的响应。

谢谢, 阿瑞

2 个答案:

答案 0 :(得分:3)

我的应用正在使用OAuth 2.0,我在新的Google表格中遇到了同样的错误。修正了在OAuth授权调用期间发送的范围参数的更改,然后重新授权(重新启动OAuth流并获取新令牌)。

到目前为止我的应用中的范围只是:

https://spreadsheets.google.com/feeds

在我的案例中更新了范围和解决问题的方法

https://spreadsheets.google.com/feeds https://docs.google.com/feeds

答案 1 :(得分:1)

我在自己的东西中碰到了这个。至少对于我遇到的情况,似乎是New Sheets的一个问题。我很抱歉没有更多的解决方案(我还在努力找出解决方法)但这可能会帮助您缩小问题范围。