Следуя примеру Realtime-Playground, я пытаюсь включить «открытый файл» в своем приложении. Авторизация работает корректно, а пустой файл создается на gDrive. код для создания всплывающего окна выбора файла не работает следующий код является частью RT-игровую площадку, и я использую тот же:.Включить «Open FIle» из API Google Диска - RealTime API
var popupOpen = function() {
var token = gapi.auth.getToken().access_token;
var view = new google.picker.View(google.picker.ViewId.DOCS);
view.setMimeTypes("application/vnd.google-apps.drive-sdk." + realTimeOptions.appId);
var picker = new google.picker.PickerBuilder()
.enableFeature(google.picker.Feature.NAV_HIDDEN)
.setAppId(realTimeOptions.appId)
.setOAuthToken(token)
.addView(view)
.addView(new google.picker.DocsUploadView())
.setCallback(openCallback)
.build();
picker.setVisible(true);
}
Я также соединили выше функцию кнопки Когда я нажимаю. перед авторизацией я получаю следующее сообщение об ошибке
TypeError: 'undefined' is not an object (evaluating 'gapi.auth.getToken')
Whic h Я думаю, это правильное поведение. При нажатии кнопки после авторизации я получаю следующее сообщение об ошибке:
Uncaught TypeError: Cannot read property 'View' of undefined
ошибка происходит из этой строки кода:
var view = new google.picker.View(google.picker.ViewId.DOCS);
На моей странице index.html я добавил все сценарии которые используются на площадке rt-play, и поскольку авторизация работает, я думаю, проблема не вызвана этим. Любая обратная связь будет оценена.
This - мой код (используется для тестирования, но все же, обратная связь приветствуется).
Пс: Одна вещь (-а) Я не уверен, правильно ли я устанавливаю приложение. После просмотра в консоли API я не нашел никакого атрибута, названного так, поэтому я попытался использовать ID проекта и имя продукта.
Обновление
Путем добавления google.load ('сборщика', '1'); на моей странице index.html он сработал. Хотя этот код не существует на игровой площадке в реальном времени, поэтому я не уверен, почему мне нужно его использовать.
Я прочитал приведенную выше документацию. Если вы заметили обновление, я спрашиваю, почему требуется google.load, поскольку он не включен в rt-playground, который также использует использование Picker. https://github.com/latusaki/realtime-playground – Giannis
Это действительно делает этот вызов: https://github.com/googledrive/realtime-playground/blob/master/js/rtpg.ui.js#L130 –