问题描述
在 Google Drive 中,用户可以创建新的 Google Doc/Sheet/Slide/Form 等作为 Drive 原生格式。使用 Drive Picker API 时有没有办法隐藏这些类型的文件?我希望用户只能看到他们上传(或与他们共享)而不是在云端硬盘中创建的文件。
例如,如果我使用 ViewId.DOCUMENTS 向选择器添加一个视图,那么 Google Doc、txt 和 docx 中的所有内容都会显示出来。只是还没找到过滤掉 Google Doc mime 类型的方法。
解决方法
您是否尝试过使用 setMimeTypes
?使用它来指定要包含的格式。
代码:
var view = new google.picker.View(google.picker.ViewId.DOCS);
// include only txt and docx files
view.setMimeTypes("text/plain,application/vnd.openxmlformats-officedocument.wordprocessingml.document");
var picker = new google.picker.PickerBuilder()
.addView(view)
输出:
注意:
- 驱动器选择器是为谷歌驱动器制作的。因此,只有
Views
支持其原生文件类型是很自然的。 - 好处在于,Google 为我们提供了一种通过
setMimeTypes
指定未包含在其视图中的文件类型的方法
- 目前,我没有找到任何排除某种 mime 类型或视图的方法
- 此外,您可以尝试
setQuery
。我对此进行了一些测试,似乎view.setQuery("*.docx|*.txt")
会生成所有 docx 和 txt 文件(就我而言)。您可以将其与setMimeTypes
结合或选择它。只需进行测试,看看哪种解决方案适合您。