【问题标题】:Distinguish parent and child folder in Google Drive - Flutter - GoogleAPI V3区分 Google Drive 中的父子文件夹 - Flutter - GoogleAPI V3
【发布时间】:2019-12-05 00:06:43
【问题描述】:

我很难在 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";

【问题讨论】:

  • 我认为您可能错过了查询条件之间的空格。将最后一行更改为:query += " and '${parentFolder.id}' in parents";
  • 观察力不错。这只是一个复制/粘贴错误(代码中的实际查询确实有一个空格)。我更新了上面的代码,顺便说一句。
  • 如果直接在Drive API列表request中使用查询,会得到同样的空结果吗?

标签: flutter directory google-drive-api subdirectory


【解决方案1】:

在你的情况下,修改搜索查询怎么样?

修改后的搜索查询:

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

注意:

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

参考资料:

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

【讨论】:

  • 好吧,如果“父母”是not null,那会起作用,但我发现所有文件夹的父母属性/字段都是空的。
  • ...更具体地说,当查询是 query = "mimeType='application/vnd.google-apps.folder' "; 时,我得到了所有文件夹然而,所有的父母都是空的
  • @Musa Biralo 感谢您的回复。我带来的不便表示歉意。我不得不为我糟糕的英语水平道歉。从您的问题中的is there a way to find out a subfolder of a specific folder?,我认为您想在FolderA 中检索FolderC。所以我回答了这个问题。但是从您的回复中,我无法理解您想要什么。我可以在您的问题中询问您在“文件夹结构”中想要什么吗?通过这个,我想修改它。
  • @Tenaike:不用担心英语,我们都倾向于一种或另一种方式。英语也是我的第二语言。我有兴趣找到“FolderA 中的 FolderC”。正如我所提到的,核心问题是“FolderC”的“父母”为空
  • @Musa Biralo 感谢您的回复和关注。不幸的是,我无法理解"parents" being null for "FolderC"。在这种情况下,没有返回值?还是返回没有父文件夹的值?能详细介绍一下吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-31
  • 2019-05-02
  • 2014-09-28
相关资源
最近更新 更多