如何在Google Drive API上按文件夹获取文件列表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Google Drive API上按文件夹获取文件列表相关的知识,希望对你有一定的参考价值。

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

...呜呜呜.Google APIs.com/drive/V2/files/BB0changed IDF5哇G电子版u Q5AWS/children

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

...呜呜呜.Google APIs.com/drive/V2/files

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

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

...呜呜呜.Google APIs.com/drive/V2/files?请='BB0changed IDF5哇G电子版u Q5AWS

我收到一个错误:

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

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

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

谢谢您的帮助

答案

你应该能够简单地使用files/list与父查询;

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

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

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

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

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

以上是关于如何在Google Drive API上按文件夹获取文件列表的主要内容,如果未能解决你的问题,请参考以下文章

在 Android 上通过一键式登录使用 Google Drive API

React-native Google Drive如何获取文件和文件夹列表?

Flutter - 如何使用 Google Drive API 下载公共文件

如何使用Google API在Team Drive中创建文件夹?

如何通过 API 向 Google Drive 添加/创建/插入文件?

如何在使用Google Drive API V3与他人共享时设置文件的功能?