sky*_*ree 3 google-api google-drive-api
我知道 Google Drive API 将在 2020年年中强制执行更新。但是,我对 Drive API 文档感到非常困惑,如Files.list和Changes.list 中所述:
supportAllDrives : Deprecated - 请求应用程序是否同时支持我的驱动器和共享驱动器。此参数仅在 2020 年 6 月 1 日之前有效。之后假定所有应用程序都支持共享驱动器。(默认值:false)
includeItemsFromAllDrives:已弃用 - 结果中是否应同时包含“我的云端硬盘”和共享云端硬盘项目。此参数仅在 2020 年 6 月 1 日之前有效。之后共享云端硬盘项目将包含在结果中。(默认值:false)
我的问题是:
这是否意味着如果 API 请求中不包含(或设置为 false)这两个参数,那么在 2020 年 6 月 1 日之后,supportsAllDrives和includeItemsFromAllDrives将自动变为true?
在 2020 年 6 月 1 日之前,我们可以通过将supportsAllDrives & includeItemsFromAllDrives设置为 false来轻松检索仅在“我的驱动器”中的文件(共享驱动器中没有文件)。但是在2020年6月1日之后,我如何只在“我的驱动器”中检索文件??我知道我们可以过滤 Files.list 请求返回的结果来删除共享驱动器中的文件,但它非常低效。应该有一个直接的方法来获取“我的驱动器”中的文件列表。
1 -默认情况下supportAllDrives & includeItemsFromAllDrives将变为 true。
2 - 由于没有直接的方法来检索您自己的文件,您必须在Drive : list上使用q参数。
您有两个选择:
'root' in parents这将让你你有你的文件和文件夹我的网盘不包括共享的,但它不会显示文件夹内的文件,只需在头版的那些我的网盘。
最佳方法:
'me' in owners这将为您提供您拥有的所有文件。这是最佳选择,因为您无法强制共享云端硬盘项目的所有者。
如果您尝试强制自己成为共享云端硬盘项目的所有者,您将获得以下结果:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "ownerOnTeamDriveItemNotSupported",
"message": "Owner role is invalid for shared drive items."
}
],
"code": 403,
"message": "Owner role is invalid for shared drive items."
}
}
Run Code Online (Sandbox Code Playgroud)
引用文档:
owners,ownerNames,ownedByMe— 共享云端硬盘中的文件归共享云端硬盘所有,而非个人用户所有。
我建议您trashed = false在q参数中也使用其中的一部分,以确保您的搜索中不会出现垃圾文件。
如果您想将此作为功能请求提交,您可以转到问题跟踪器
| 归档时间: |
|
| 查看次数: |
1165 次 |
| 最近记录: |