区分 parent 和 child 文件夹在 Google Drive - Flutter - GoogleAPI V3

Distinguish parent and child folder in Google Drive - Flutter - GoogleAPI V3

我正在努力在 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:

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

var query = "mimeType='application/vnd.google-apps.folder' ";
query += "and name='$folderName' "; // folderName = "FolderC"
query += "and '${parentFolder.id}' in parents";

对于您的情况,修改搜索查询怎么样?

修改后的搜索查询:

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

注:

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

参考文献:

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