【发布时间】:2013-04-04 21:23:00
【问题描述】:
我在使用 Google Drive SDK 时遇到了一个奇怪的问题——我不确定这是设计行为还是范围界定中的错误。
快速背景:我们正在使用“drive.files”范围开发应用程序(例如,仅由我们的应用程序创建的文件/文件夹)并且我们想要列出由我们的应用程序创建的所有文件夹。所以我们使用 drive.files.list 方法调用(使用 Javascript 客户端 API),查询驱动器文件夹 mimeType:
mimeType = 'application/vnd.google-apps.folder'
问题:返回的是用户云端硬盘帐户中所有文件夹的列表,而不仅仅是我们的应用创建的文件夹。
这不是公然违反范围吗?据我所知,文档并没有说明我们是否应该看到搜索查询返回的超出范围的文件。
可以使用 Google API 资源管理器重复此行为:
- 打开 Google API 资源管理器:Google APIs Explorer: drive.files.list with empty query
- 将 OAuth 授权设为 ON,仅使用 drive.file 授权。
- 使用空查询单击“执行”。结果列表应为空。
-
现在,在“q”参数框中输入文件夹查询:
mimeType = 'application/vnd.google-apps.folder'
单击“执行”。结果列表显示用户云端硬盘帐户中未由 API Explorer 应用创建的文件夹。
我在这里遗漏了什么吗?这是预期的行为吗?如果是这样 - 有没有更好的方法来获取仅由我们的应用创建的文件夹列表?
【问题讨论】:
-
错误又回来了,但最糟糕的是:即使是空查询也会返回所有文件,即使是那些不是由应用程序创建的文件。
标签: google-drive-api