如何限制 Google 云端硬盘选择器 UI 仅显示 Google 文档?

Luk*_*uke 2 google-drive-api google-picker

参考指南建议我可以使用该addView()函数来指定包含哪些 Google Drive 项目。这很好,但尽管如此,推荐的视图仅适用于 Google 文档 -google.picker.\xe2\x80\x8bViewId.DOCUMENTS似乎还包括上传到驱动器且属于文档的任何文件,例如 MS Word 格式、Open Office 格式、纯文本和富文本格式。

\n\n

有什么方法可以限制选择器仅向用户提供 Google 文档吗?

\n\n

为了清楚起见,这里是我实例化选择器的代码。

\n\n
this.picker = new google.picker.PickerBuilder().\n            addView(google.picker.ViewId.DOCUMENTS).\n            setAppId(this.clientId).\n            setOAuthToken(accessToken).\n            setCallback(this._pickerCallback.bind(this)).\n            build().\n            setVisible(true);\n
Run Code Online (Sandbox Code Playgroud)\n

Luk*_*uke 5

因此,谷歌将云端硬盘与文档结合起来的品牌重塑导致了一些不一致的命名。Google Drive 文档实际上是指存储在 Google Drive 中的任何文档,包括但不限于问题中列出的文件类型。

为了解决这个问题,您可以创建一个视图而不是使用现有的视图,并指定您想要列出的 MIME 类型。

这是代码,以防其他人发现自己陷入困境。

var view = new google.picker.DocsView(google.picker.ViewId.DOCUMENTS)
    .setMimeTypes("application/vnd.google-apps.document");

this.picker = new google.picker.PickerBuilder().
            addView(view).
            setAppId(this.clientId).
            setOAuthToken(accessToken).
            setCallback(this._pickerCallback.bind(this)).
            build().
            setVisible(true);
Run Code Online (Sandbox Code Playgroud)

感谢 G+ 上 Google 云端硬盘开发者社区的一位用户

G+ 社区中的原始帖子