gpt4 book ai didi

google-api - 2020 年 6 月 1 日之后使用 Google Drive API 获取 "My Drive"中的文件列表?

转载 作者:行者123 更新时间:2023-12-04 00:22:56 25 4
gpt4 key购买 nike

我知道 Google Drive API 将在 2020 年年中强制执行更新。但是,我对 Drive API 文档感到非常困惑,如 Files.list 中所述和 Changes.list :

supportsAllDrives:已弃用 - 请求的应用程序是否支持“我的驱动器”和共享驱动器。此参数仅在 2020 年 6 月 1 日之前有效。之后假定所有应用程序都支持共享驱动器。 (默认:假)

includeItemsFromAllDrives:已弃用 - 我的云端硬盘和共享云端硬盘项目是否都应包含在结果中。此参数仅在 2020 年 6 月 1 日之前有效。之后共享云端硬盘项目将包含在结果中。 (默认:假)

我的问题是:

  1. 这是否意味着 supportsAllDrivesincludeItemsFromAllDrives 将在 2020 年 6 月 1 日之后自动变为 true,如果这两个参数没有API 请求中包含(或设置为 false)?

  2. 在 2020 年 6 月 1 日之前,我们可以通过将 supportsAllDrivesincludeItemsFromAllDrives 设置为错误的。但是 2020 年 6 月 1 日之后,我如何只能在“我的云端硬盘”中检索文件??我知道我们可以过滤 Files.list 请求返回的结果以删除共享驱动器中的文件,但效率非常低。应该有一个直接的方法来获取“我的驱动器”中的文件列表。

最佳答案

1 - supportAllDrivesincludeItemsFromAllDrives 将默认为 true。

2 - 由于没有直接的方法来检索您自己的文件,您必须使用 q Drive : list 上的 参数

你有两个选择:

'root' in parents This will get you the files and folders you have on your My Drive excluding the shared ones, but it will not show files inside folders, just the ones in the front page of My Drive.

最佳方法:

'me' in owners This will get you all the files you own. This is the best option since you can't enforce an owner to a shared drive item.

如果您试图强制自己成为共享云端硬盘项目的所有者,您将获得以下结果:

{
"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."
}
}

引用 documentation :

owners, ownerNames, ownedByMe — Files within a shared drive are owned by the shared drive, not individual users.

我建议您在 q 参数中也使用 trashed = false 的一部分,以确保您的搜索中不会出现已删除的文件。

如果您想将此作为功能请求提交,您可以转到 Issue Tracker

关于google-api - 2020 年 6 月 1 日之后使用 Google Drive API 获取 "My Drive"中的文件列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59241458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com