2014-07-13 107 views
18

我正在尝试为用户导航他/她的Google云端硬盘并选择一个或多个文档以供稍后在数据库的网站中引用。我目前正在使用.NET构建一个Web界面。 我面临的问题是,我找不到一个单一的函数来获取文件夹Id的文件列表。 我尝试使用:如何根据Google Drive API上的文件夹获取文件列表

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

...但是,这只会给文件引用的文件夹中的文件的ID(这就是所谓的儿童资源项目),这意味着我必须遍历这些文件,并为其中的每一个创建一个调用,以便获取我需要的所有元数据。 可惜..

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

..will列出与文件夹中没有筛选选项,我所有的文件。 我想知道是否有一种有效的方法,通过一个特定的文件夹从一次调用驱动器服务器中提取文件夹列表&。

我也试过(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也不行。 它看起来像“文件”端点不接受任何参数。

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

谢谢您的帮助

+0

请参阅http://stackoverflow.com/questions/41741520/how-do-i-search-sub-folders-and-sub-sub-folders-in-google-drive – pinoyyid

+0

是的,API文档很糟糕: ( – CpILL

回答

23

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

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

)谢谢你的URL请求字符串示例,问题是我错过了:+ in + parents你能告诉我这个“在父母身上”添加的记录吗?我完全错过了它 – user3199365

+0

@ user3199365它被记录在这里](https://developers.google.com/drive/web/search-parameters),只需在页面中搜索“父母”即可。 –

+1

q =父母的“root”会为您提供顶级文件夹,以防万一您想知道 – RoccoB

0

下面是如何获取文件的特定领域使用V3 API的文件夹中:

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

替换 “folderId” 与文件夹ID。

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

相关问题