javascript — Google Picker с AccessToken не работает

Я не могу заставить работать Google Picker. Я аутентифицировал своего пользователя, используя PHP League Oauth Provider

После аутентификации accessToken для моего пользователя выглядит примерно так;

ya67.Fi_dfioriogneegroig7Czdy54z0sdfdvnfr9fn38n3n93

Это мой Javascript и HTML-код для рендеринга сборщика;

<a href="{{ appContextInstallId }}/authenticate" class="btn info">
<i class="icon-bolt"></i> Authenticate
</a>

<button onClick="createPicker()">Add a new document</button>

<script type="text/javascript">

var developerKey = 'erteetr43gg-V34y4httytjyjytjyttyjyjyjjy';
var clientId = "373498750987-5dsfwerrwewerweewrl.apps.googleusercontent.com"var appId = "373498750987"
var scope = ['https://www.googleapis.com/auth/drive'];
var pickerApiLoaded = false;

// Use the Google API Loader script to load the google.picker script.

// Create and render a Picker object for searching images.
function createPicker() {
var view = new google.picker.View(google.picker.ViewId.DOCS);
var picker = new google.picker.PickerBuilder()
.enableFeature(google.picker.Feature.NAV_HIDDEN)
.enableFeature(google.picker.Feature.MULTISELECT_ENABLED)
.setAppId(appId)
.setOAuthToken("{{ token|escape }}")
.addView(view)
.addView(new google.picker.DocsUploadView())
.setDeveloperKey(developerKey)
.setCallback(pickerCallback)
.build();

picker.setVisible(true);
}

// A simple callback implementation.
function pickerCallback(data) {
// makes an ajax call....
}
</script>

<!-- The Google API Loader script. -->
<script type="text/javascript" src="https://apis.google.com/js/api.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>

Мой accessToken доступен на {{ token|escape }},

Когда я пытаюсь нажать кнопку «Добавить новый документ», я получаю следующую ошибку.

Uncaught ReferenceError: Google не определен в createPicker

Я не знаю, почему это так. Я неправильно использую токен доступа?

Кстати, я необходимость взять бизнес accessToken с использованием серверной технологии, потому что у меня есть несколько поддоменов, и вы не можете использовать их для подстановки в консоли разработчика Google. Поэтому я не могу просто использовать стандартный пример как этот пройти аутентификацию через клиентскую часть.

PS — Очевидно, что это не мои настоящие токены / секреты в блоке кода выше. Они были изменены.

0

Решение

Вы можете проверить Руководство разработчика Google Loader для получения более подробной информации о том, как загрузить Google API.

Как обсуждалось,

Чтобы загрузить API, включите следующий скрипт в заголовок вашей веб-страницы.

<script type="text/javascript" src="https://www.google.com/jsapi"></script>

Затем загрузите Google API с помощью google.load (модуль, версия), где

  • module вызывает конкретный модуль API, который вы хотите использовать на своей странице.
  • version номер версии модуля, который вы хотите загрузить.

После звонка google.loadВы можете использовать все загруженные модули на своей веб-странице.

Наконец, вы можете проверить Доступные API, конкретно Руководство разработчика API Picker и убедитесь, что вы не пропустили важные функции при создании Picker объект.

Надеюсь, это поможет!

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]