修改Google Picker DocsView标题

12

我正在我的网站上使用Google Picker API。这是我的代码:

this.picker = new google.picker.PickerBuilder().
            addView(new google.picker.DocsView(google.picker.ViewId.DOCS).
                    setIncludeFolders(true).
                    setOwnedByMe(true)).
            addView(new google.picker.DocsView(google.picker.ViewId.DOCS).
                    setIncludeFolders(true).
                    setOwnedByMe(false)).
            addView(google.picker.ViewId.RECENTLY_PICKED).
            addView(new google.picker.DocsView(google.picker.ViewId.DOCS).
                    setStarred(true)).
            setAppId(this.clientId).
            enableFeature(google.picker.Feature.MULTISELECT_ENABLED).
            disableFeature(google.picker.Feature.SUPPORT_TEAM_DRIVES).
            setOAuthToken(accessToken).
            setLocale('es').
            setTitle('Selecciona uno o varios archivos').
            setCallback(this._pickerCallback.bind(this)).
            build().
            setVisible(true);

以下显示的是(名称已被屏蔽,但它们显示正常):

enter image description here

问题出现在带有标题“Google Drive”的星标 DocsView 上。 我想将其更改为我选择的内容(其余 DocsView 具有默认名称)或仅更改为“Starred”,但我无法实现此目标。

是否有人知道如何更改它?


你可以添加GroupView并通过addLabel('Starred')设置标签,但是当用户首次点击“GoogleDrive”时才会显示该标签。 - Dawid Loranc
是的,我已经尝试过了,但那不是我想要做的。 - Aldeguer
2个回答

9

至少在此处不文档化,但DocsView.setLabel方法对我有效。因此,请尝试以下操作:

    new google.picker.DocsView(google.picker.ViewId.DOCS).
      setStarred(true).
      setLabel("Starred")

它在JS上可以运行,但在TypeScript(即使用Angular 2+)上,在构建时无法编译。 - Damien C
非常有帮助 :) 对于使用TypeScript的人来说,可以通过以下方式“欺骗”编译:(docsView as any).setLabel("Tab label"); - Pierre

3

看起来你并不是唯一一个遇到这个问题的人!你可以在2014年看到其他人有类似的问题:https://groups.google.com/forum/#!topic/google-picker-api/9x5a_VAb73k

我自己进行了广泛测试,尝试了不同的选项,但由于它位于 iFrame 中且完全由 Google 控制,因此它似乎是 Google 的一个 bug。

这可能是 Google 的一个错误,特别是因为它没有进行本地化(尽管产品名称为“Google Drive” 可能是故意的)。

在 Google 更改之前,它无法显示除“Google Drive”以外的任何内容。

另外,我还试图报告此问题,请在此处查看:https://issuetracker.google.com/73046870


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接