区分Google云端硬盘中的父级和子级文件夹-Flutter-GoogleAPI V3

问题描述 投票:0回答:1

我正在努力在Google云端硬盘中找到合适的文件夹。我正在使用import 'package:googleapis/drive/v3.dart'

文件夹结构

--FolderA
 |
 |--FolderC  // Note this sub folder has the same name as one of the other folders
--FolderB
--FolderC
  var query = "mimeType='application/vnd.google-apps.folder' ";
  query += "and name='$folderName'"; // folderName = "FolderC"

....
...

  Future<List<File>> _runQuery(String query) async {
    DriveApi driveApi = DriveApi(await getHttpClient());    
    return (await driveApi.files.list(q: query)).files;
  }

...使用上面的代码,我可以看到带有id, name, etc.的文件夹。问题是所有文件夹的parents均为null。因此,我找不到哪个“ FolderC”。

因此,有没有办法找出特定文件夹的子文件夹?

更新1:

如果在查询中添加父母,我将得到一个空列表(根本没有文件夹)

var query = "mimeType='application/vnd.google-apps.folder' ";
query += "and name='$folderName' "; // folderName = "FolderC"
query += "and '${parentFolder.id}' in parents";
flutter directory google-drive-api subdirectory
1个回答
0
投票

在您的情况下,如何修改搜索查询?

修改的搜索查询:

"mimeType='application/vnd.google-apps.folder' and name='$folderName' and '### folder ID of FolderA ###' in parents"
  • 在上述搜索查询中,检索了文件夹FolderC中的FolderA

注意:

  • 如果要从API返回的值中检索父文件夹的信息,请在parents中添加fields以进行请求。或者,您也可以使用*作为字段。在这种情况下,可以检索所有元数据。

参考:

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

© www.soinside.com 2019 - 2024. All rights reserved.