1

我们的应用程序使用 drive.file 范围来确保我们只能看到由我们的应用程序创建的用户文件。

但是,“列表”调用会返回已与用户共享的文件,即使它们不是由我们的应用程序创建的。

这可以在“试试看!”中轻松验证。文件/列表 API 文档的部分。使用 drive.file 范围授权并运行不带任何参数的简单列表查询。那应该返回一个空列表,但在我的情况下,它会返回与我共享的数十个文件。

之前也有同样的问题(轻微的变化只影响带有 q 参数集的查询):Listing files with search query 返回超出范围的结果(drive.files.list 调用,使用 drive.files 范围)

在此期间它已得到修复,但现在似乎所有列表查询都回来了。它的问题主要不是因为它破坏了我们的应用程序,该应用程序只需要它自己的文件。存在隐私问题,因为我突然可以看到我们用户的私人数据的文件名,他们从未同意过。

4

1 回答 1

0

I believe this issue is due to the behavior of API Explorer, not Drive API itself. If API Explorer already has a token with OAuth scopes capable of making the call, it will use that so if previously given API Explorer a scope that can see all user files, you'll get them all back. Try revoking ALL Explorer tokens for your account at:

https://accounts.google.com/b/0/IssuedAuthSubTokens?hl=en

then, after clearing all cookies/sessions for developers.google.com, try creating a new token with ony the drive.file scope and attempt your API call again.

You should also note that files that are publicly shared will be returned.

于 2013-08-18T17:26:13.213 回答