Как ограничить пользовательский интерфейс средства выбора Диска Google отображением только документов Google?

В справочном руководстве предлагается использовать функцию addView(), чтобы указать, какие элементы Google Диска включены. Это здорово, но, несмотря на это, рекомендуемый вид только для Документов Google - google.picker.​ViewId.DOCUMENTS, похоже, также включает любые файлы, которые загружены на диск и являются документом, например Форматы MS Word, форматы Open Office, форматы обычного текста и Rich Text.

Есть ли способ ограничить Picker, чтобы он предлагал пользователю только документы Google?

Просто для ясности вот мой код для создания экземпляра Picker.

this.picker = new google.picker.PickerBuilder().
            addView(google.picker.ViewId.DOCUMENTS).
            setAppId(this.clientId).
            setOAuthToken(accessToken).
            setCallback(this._pickerCallback.bind(this)).
            build().
            setVisible(true);

person Luke    schedule 26.01.2014    source источник


Ответы (1)


Таким образом, выясняется, что ребрендинг Google, объединивший Диск с Документами, привел к непоследовательному именованию. Документы Google Диска фактически относятся к любому Документу, хранящемуся на Google Диске, включая, помимо прочего, те типы файлов, которые перечислены в вопросе.

Чтобы обойти это, вы можете создать представление, а не использовать существующее представление, и указать типы 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);

Спасибо за это пользователю сообщества разработчиков Google Диска в Google+.

Исходное сообщение в сообществе Google+

person Luke    schedule 26.01.2014