Google Drive rest API,仅从根文件夹下载文件

时间:2017-02-15 10:38:40

标签: java google-api google-drive-api google-api-java-client

我正在尝试仅下载根目录中的文件。目前我没有指定任何文件夹,因为我不知道如何下载其他文件夹中不是根的最新文件。我想要的只是root中的文件。获取文件和下载URL的代码如下:

([MGK]B)

我想只下载根文件中的所有文件,而不是任何其他文件夹。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

您需要使用Q参数进行搜索

  

q string用于过滤文件结果的查询。请参阅“搜索   文件“支持语法指南。

发送类似以下内容的内容将返回所有不是父目录的文件夹。

  父母

mimeType!='application / vnd.google-apps.folder'和'root'

答案 1 :(得分:1)

有许多考虑因素。

你的第3行需要

  

字符串q =" trashed = false和' root'在父母和mimeType!=' application / vnd.google-apps.folder' "

     

FileList result = serv.files()。list()。setFields(" *")。setQ(q).setMaxResults(10).execute();

您需要注意,这将最多返回10个结果,但更重要的是,您需要注意没有最低结果数。这意味着,如果您有11个文件,那么可能在第一次迭代中获得10,在第二次迭代中获得1。但是,您还可以获得1和10,或3和6和2,或0和0以及1和10.您需要继续获取结果,直到getNextPageToken() == null的值。你的行

  

if(listA == null || listA.isEmpty()){

应该是

  

if(result.getNextPageToken()== null){

我意识到您已从官方文档中复制/粘贴,但遗憾的是文档错误。