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