【问题标题】:How to get list of files by folder on Google Drive API如何在 Google Drive API 上按文件夹获取文件列表
【发布时间】:2014-07-13 06:15:39
【问题描述】:

我正在尝试构建一个网络用户界面,供用户浏览他/她的 Google 云端硬盘并选择一个或多个文档,以便稍后在网站中从数据库中引用。我目前正在使用 .NET 构建 Web 界面。 我面临的问题是我找不到一个函数来按文件夹 ID 获取文件列表。 我尝试使用:

...www.googleapis.com/drive/v2/files/BB0CHANGEDIDF5waGdzbUQ5aWs/children

...但这只会给出文件夹中文件的文件引用 ID(所谓的子资源项),这意味着我必须遍历这些文件并为每个文件创建一个调用才能获取我的 UI 所需的所有元数据。 不幸的是..

...www.googleapis.com/drive/v2/files

..将列出我所有的文件,没有按文件夹过滤选项。 我想知道是否有一种有效的方法可以从对特定文件夹的单个调用驱动器服务器中提取文件夹和文件列表。

我也试过这个(based on answer to the similar issue): 我正在使用 Fiddler 直接调用 api。当我用它来拨打电话时`

...www.googleapis.com/drive/v2/files?q='BB0CHANGEDIDF5waGdzbUQ5aWs'

我得到一个错误:

{
 "error": {
  "errors": [
   {wrongID
    "domain": "global",
    "reason": "invalid",
    "message": "Invalid Value",
    "locationType": "parameter",
    "location": "q"
   }
  ],
  "code": 400,
  "message": "Invalid Value"
 }
}

即使使用google's test page 也不会这样做。 看起来“文件”端点不接受任何参数。

必须有一种方法来实现这一点!

感谢您的帮助

【问题讨论】:

标签: google-drive-api


【解决方案1】:

以下是使用 v3 API 获取文件夹中文件的特定字段的方法:

https://www.googleapis.com/drive/v3/files?q="folderId"+in+parents&fields=files(md5Checksum,+originalFilename)
//

将“folderId”替换为文件夹 ID。

您可以使用&fields=files(*) 获取文件的所有字段。

【讨论】:

    【解决方案2】:

    如果您在 v3 的 javascript 上执行此操作,请在请求正文上尝试此操作:

    {
      q: `'${folderId}' in parents`
    }
    

    但是,这也可以列出此文件夹中已删除且位于 bin 中的文件。因此,您可以这样做:

    {
      q: `'${folderId}' in parents and trashed = false`
    }
    

    【讨论】:

      【解决方案3】:

      您应该能够简单地将files/list 与父查询一起使用;

      GET https://www.googleapis.com/drive/v2/files?q='BB0CHANGEDIDF5waGdzbUQ5aWs'+in+parents&key={YOUR_API_KEY}
      

      【讨论】:

      • 感谢您的 URL 请求字符串示例。问题是我错过了:+in+parents 你能告诉我这个“in parents”添加记录在哪里吗?我完全错过了。
      • @user3199365 记录在案的here,只需在页面上搜索“父母”即可。
      • q='root' in parents 将为您提供顶级文件夹,以防您想知道
      • 请提供 api v3 的任何文档?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多