我希望能够确定文件夹是否在根文件夹中。文档说使用“ root”代替ID进行查询,但这对我没有帮助。如果您查看根文件夹中任何文件夹的“父级”,它仍然显示实际的ID,而不是文字“ root”。如何获得此ID?
我看到“关于”中有一种方法可以在v2中获取根ID,但在v3中却没有。
我正在使用.NET,但是任何语言的解决方案都应该可以。谢谢。
答案 0 :(得分:1)
这个答案怎么样?根据您的问题,我认为检索根文件夹下的文件夹可能会成为您的解决方案。如果我的理解是正确的,那么如何使用Drive API的files.list方法?在这种情况下,我认为有2种模式。
在这种模式下,将检索根文件夹下的所有文件夹。您可以从此列表中检查文件夹。
'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();
在此模式下,使用文件夹名称检索位于根文件夹下的文件夹。您可以从文件夹名称知道文件夹是否在根文件夹中。如果在根文件夹中找到了搜索到的文件夹名称的文件夹,则返回值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();
如果我误解了您的问题,而这不是您想要的结果,我深表歉意。