10

我已经实现了将文件上传到谷歌驱动器的功能。我已经按照快速入门中的指南完成了它。

现在我正在执行功能将文件上传到特定文件夹*(例如:将文件上传到“My_Folder_name”)*。我在API Reference中找到了示例。问题是如果我只知道文件夹的名称,我如何获得parentId (文件夹 ID) 。

我找不到任何按名称搜索文件夹的功能...

是通过获取所有文件来获取文件夹的唯一方法,然后检查MimeType是否等于“application/vnd.google-apps.folder”并将其与文件夹名称进行比较。

if("application/vnd.google-apps.folder".equals(body.getMimeType()) && "My_Folder_name".equals(body.getTitle()) ){
            ....        
}

提前致谢。

4

4 回答 4

13

查询应该如下:

mimeType='application/vnd.google-apps.folder' and name='foldername'

在 Python 中:

service.files().list(q="mimeType='application/vnd.google-apps.folder' and name='foldername'",
                                         spaces='drive',
                                         fields='nextPageToken, files(id, name)',
                                         pageToken=page_token).execute()

注意:name='foldername'不是title='foldername'

于 2016-10-14T04:04:14.460 回答
12

您可以将q查询参数添加到您的请求 URL 并使用 Drive 查询语言来限制您的搜索:

https://developers.google.com/drive/search-parameters

要仅搜索文件夹并按标题限制搜索,您的查询应如下所示:

mimeType = 'application/vnd.google-apps.folder' and title = 'My_Folder_name'
于 2012-09-21T07:48:50.633 回答
0

你需要做两件事:

使用 files.list(它提供完整的文件资源)(https://developers.google.com/drive/v2/reference/files/list)。修改您的查询以添加您要搜索的父 ID。

父母中的 mimeType = 'application/vnd.google-apps.folder' 和 'folderId'

于 2014-11-07T04:54:22.453 回答
0

我想这会对你有所帮助

/*String pageToken = null;
            do {
                FileList fileList = driveService.files().list().setQ("'" + parentFolderId + "' in parents")
                        .setFields("nextPageToken, files(id,parents,name,mimeType)")
                        .setPageToken(pageToken).execute();

                if (fileList.getFiles().size() == 0)
                    System.out.println("No data inside the folder");

                    for (File file : fileList.getFiles()) {
                        System.out.println(file.getId());
                    }
                pageToken = fileList.getNextPageToken();
            } while (pageToken != null);*/
于 2019-03-02T08:12:55.883 回答