Я хочу развернуть скрипт API Google как веб-приложение. Я понимаю, как это сделать.

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

Я хочу, чтобы этот сценарий читал календарь с использованием учетной записи службы. Я уже создал учетную запись службы и предоставил ей доступ к календарю.

Конечная цель - предоставить клиенту Javascript доступ к этому сценарию, использовать его для получения списка событий в календаре и использовать его для создания в нем событий.

Я не понимаю, как аутентифицировать учетную запись службы. Я все время вижу такой код:

OauthConfig.setConsumerKey («анонимный»); oauthConfig.setConsumerSecret («анонимный»); oauthConfig.setRequestTokenUrl ( "https://www.google.com/accounts/OAuthGetRequestToken?scope=" + размах); oauthConfig.setAuthorizationUrl ("https://accounts.google.com/OAuthAuthorizeToken"); oauthConfig.setAccessTokenUrl ("https://www.google.com/accounts/OAuthGetAccessToken");

Как мне изменить это, чтобы использовать учетную запись службы? Я не понимаю, если / как я передаю идентификатор клиента / адрес электронной почты учетной записи службы. Я также не понимаю, как передать публичный / закрытый ключи.

Кто-нибудь может помочь?

0
user1126515 8 Фев 2014 в 20:14

1 ответ

Лучший ответ

В документации Drive API есть действительно хороший пример того, как использовать сервисный аккаунт. В нем есть пошаговые инструкции по созданию учетной записи службы, а также несколько примеров кода. Единственное, что вам нужно будет изменить область действия на Calendar API из Drive API.

https://developers.google.com/drive/web/delegation

0
Emily 10 Фев 2014 в 21:31
Консоль администратора Google Apps является абсолютным требованием?
 – 
user1126515
11 Фев 2014 в 16:03
Для разрешения двухстороннего OAuth - да. :(
 – 
Emily
11 Фев 2014 в 18:46
НО, если вы собираетесь опубликовать его как приложения для торговой площадки, он должен быть установлен для вашего пользователя автоматически в консоли администратора, когда они проходят процесс установки.
 – 
Emily
11 Фев 2014 в 19:18
Мне нужно решение, независимое от консоли администратора Google Apps. Все, что я хочу сделать, это разрешить кому угодно читать / добавлять события в Календарь Google. Я ограничиваю доступ к календарю с помощью некоторого Javascript, который разрешает только чтение / добавление. Единственное другое ограничение - я не хочу, чтобы кто-то вводил ID пользователя / пароль. Календарь, к которому осуществляется доступ, принадлежит мне - я хочу, чтобы люди читали / добавляли его без необходимости вводить какой-либо идентификатор пользователя / пароль. Мне сказали, что учетные записи служб - лучший способ добиться этого. Это правильно? Вы знаете что-нибудь об аутентификации Oauth2 через Google App Engine?
 – 
user1126515
11 Фев 2014 в 19:37