编程语言
首页 > 编程语言> > java – 如何在google API v3中搜索特定文件夹中的文件

java – 如何在google API v3中搜索特定文件夹中的文件

作者:互联网

因为我正在使用google api的v3,所以不使用父和chidren列表我必须使用fileList,所以现在我想搜索特定文件夹内的文件列表.
所以有人可以建议我做什么?

这是我用来搜索文件的代码:

private String searchFile(String mimeType,String fileName) throws IOException{
    Drive driveService = getDriveService();
    String fileId = null;
    String pageToken = null;
    do {
        FileList result = driveService.files().list()
                .setQ(mimeType)
                .setSpaces("drive")
                .setFields("nextPageToken, files(id, name)")
                .setPageToken(pageToken)
                .execute();
        for(File f: result.getFiles()) {
            System.out.printf("Found file: %s (%s)\n",
                    f.getName(), f.getId());
            if(f.getName().equals(fileName)){
                //fileFlag++;
                fileId = f.getId();
            }
        }
        pageToken = result.getNextPageToken();
    } while (pageToken != null);

    return fileId;
}

但是在这个方法中它给了我生成的所有我不想要的文件.我想创建一个FileList,它将文件放在一个特定的文件夹中.

解决方法:

您可以使用此方法从谷歌驱动器搜索文件.

    Files.List request = this.driveService.files().list();
    noOfRecords = 100;
    request.setPageSize(noOfRecords);
    request.setPageToken(nextPageToken);
    String searchQuery = "(name contains 'Hello')";
    if (StringUtils.isNotBlank(searchQuery)) {
        request.setQ(searchQuery);
    }
    request.execute();

标签:java,google-api,google-drive-sdk
来源: https://codeday.me/bug/20190710/1427333.html