Не удается подключиться к Google Локатору API из Google Apps Script
В настоящее время Google Apps Script поддерживает только OAuth 1.0a, а Google Latitude API поддерживает только OAuth2, поэтому очевидно, что в настоящее время вы не можете использовать Google Latitude API из Google Apps Script.
Но планируется ли интеграция двух API? Поскольку я вполне за то, чтобы хранить свои данные (включая адреса) в электронной таблице приложений Google, мне кажется, имеет смысл обращаться к ним с помощью скрипта приложений Google и применять некоторую дополнительную логику, такую как вычисления расстояний.
Мне известно о Javascript Api V3 для Google Maps, но я бы потерял гибкость при повторном использовании электронной таблицы приложения Google.
1 ответ
oAuth 2 очень возможно в скрипте приложений. Тем не менее, он требует немного больше ручного удержания потока (в отличие от встроенного oAuth1.0a). Есть планы улучшить это в будущем, но пока это будет работать.
Хитрость заключается в использовании потока веб-сервера oAuth 2. Посмотрите на этот пример, который захватывает информацию вашего профиля (у Локатора аналогичный REST API).
https://gist.github.com/4079885
Здесь опубликована версия этого скрипта -
https://script.google.com/macros/s/AKfycby3gHf7vlIsfOOa9C27z9kVE79DybcuJHtEnNZqT5G8LumszQG3/exec
Это в основном должно быть в состоянии прочитать некоторую основную информацию профиля. Существует не так много способов выхода из системы, обработки ошибок... но, надеюсь, этот пример кода подойдет вам. Специально проверить - getAndStoreAccessToken()
Чтобы работать с электронной таблицей, откройте ссылку на getURLForAuthorization()
из диалога Spreadsheet.show, а затем получить токен и получить данные.
Я надеюсь обучить этому еще немного и предоставить некоторые примеры интеграции с таблицами напрямую.