API календаря Google предоставляет доступ к учетной записи gservice программно - PullRequest
1 голос
/ 21 февраля 2020

Мое приложение получает доступ к зарегистрированным календарям Google (общий доступ) и добавляет / синхронизирует события календаря в эти календари.

Но прежде чем мое приложение сможет получить доступ к этим календарям, мне необходимо предоставить доступ к календарю sapmle-application@my-api-project-ato-ni-bai.iam.gserviceaccount.com через Settings > Share with specific people

После этого мое приложение может программно добавлять события календаря.

Что я хочу сделать сейчас, это ... В моем приложении ... Я хочу зарегистрировать календарь Google ... и Share with specific people часть будет выполнена программно .. поэтому мне не нужно go ко всем настройкам календаря и делиться ею с учетной записью gservice моего приложения.

Я просто ввожу / добавляю / регистрирую идентификатор календаря Google, и мое приложение будет запускать некоторые коды, которые будут передавать календарь моему gservice.

Я не уверен, возможно ли это и как это сделать ... на данный момент я хочу, чтобы все, что было сделано в моем приложении, не открывалось настройки календаря (при условии, что у меня уже есть список идентификаторов календаря Google, которые мне нужно добавить / зарегистрировать в приложении).

TIA

1 Ответ

0 голосов
/ 21 февраля 2020

Вы можете создать приложение, которое регистрирует пользователя с помощью Oauth2, запрашивая доступ к его учетной записи календаря. Вам понадобится следующая область действия.

https://www.googleapis.com/auth/calendar

Получив доступ к своей учетной записи в календаре Google, вы можете просто добавить запись ACL. для служебной учетной записи acl.insert , в который вы когда-либо захотите календарь.

Но вам все равно нужно иметь разрешение пользователей для этого.

note

Вы действительно должны использовать служебную учетную запись только для календарей, которые вы (разработчик) контролируете. Вы должны регистрировать обычных пользователей, используя Oauth2, не требуя, чтобы они делились своими календарями с вашей учетной записью службы. Это не то, для чего предназначены служебные учетные записи.

...