Google云端硬盘v3-如何检查文件夹是否位于根目录中?

时间:2019-05-19 20:25:35

标签: google-drive-api

我希望能够确定文件夹是否在根文件夹中。文档说使用“ root”代替ID进行查询,但这对我没有帮助。如果您查看根文件夹中任何文件夹的“父级”,它仍然显示实际的ID,而不是文字“ root”。如何获得此ID?

我看到“关于”中有一种方法可以在v2中获取根ID,但在v3中却没有。

我正在使用.NET,但是任何语言的解决方案都应该可以。谢谢。

1 个答案:

答案 0 :(得分:1)

这个答案怎么样?根据您的问题,我认为检索根文件夹下的文件夹可能会成为您的解决方案。如果我的理解是正确的,那么如何使用Drive API的files.list方法?在这种情况下,我认为有2种模式。

模式1:

在这种模式下,将检索根文件夹下的所有文件夹。您可以从此列表中检查文件夹。

  • 'root' in parents and mimeType = 'application/vnd.google-apps.folder'用作搜索文件的查询。

端点:

GET https://www.googleapis.com/drive/v3/files?q='root'+in+parents+and+mimeType+%3D+'application%2Fvnd.google-apps.folder'

示例脚本:

FilesResource.ListRequest listRequest = service.Files.List();
listRequest.Q = "'root' in parents and mimeType = 'application/vnd.google-apps.folder'";
var files = listRequest.Execute();

模式2:

在此模式下,使用文件夹名称检索位于根文件夹下的文件夹。您可以从文件夹名称知道文件夹是否在根文件夹中。如果在根文件夹中找到了搜索到的文件夹名称的文件夹,则返回值files.files的数组包含元素。

  • 'root' in parents and mimeType = 'application/vnd.google-apps.folder' and name = 'folderName'用作搜索文件的查询。

端点:

GET https://www.googleapis.com/drive/v3/files?q='root'+in+parents+and+mimeType+%3D+'application%2Fvnd.google-apps.folder'+and+name+%3D+'folderName'

示例脚本:

FilesResource.ListRequest listRequest = service.Files.List();
listRequest.Q = "'root' in parents and mimeType = 'application/vnd.google-apps.folder' and name = 'folderName'";
var files = listRequest.Execute();

参考:

如果我误解了您的问题,而这不是您想要的结果,我深表歉意。