У меня есть служба Google App Engine, настроенная и запущенная для учетной записи Google A. Я хотел бы иметь возможность записывать события в учетную запись Google Calendar моей компании B. Я выполнил эту как общее руководство. Вот шаги, которые я сделал, чтобы сделать это (Примечание: AppEngine уже запущен и функционирует.
- Включен API календаря в моем проекте для учетной записи Google A
- Ушел в мой консоль администратора учетной записи B и перешел в «Безопасность» -> «Дополнительные настройки» -> «Управление доступом клиента API» и разрешил область действия
https://www.googleapis.com/auth/calendar
для идентификатора моей службы для моего App Engine в учетной записи A. - Код ниже в Go
Примечание: в getCalendarService
я получаю учетные данные, используя AD C после этого репо README
func getCalendarService() (*calendar.Service, error) {
ctx := context.Background()
return calendar.NewService(ctx, option.WithScopes(calendar.CalendarScope))
}
// code adapted from https://developers.google.com/calendar/create-events/
func bookEvent() {
srv, err := getCalendarService()
if err != nil {logAndPrintError(err)}
event := &calendar.Event{
Summary: "Test Title",
Description: "Lorem ipsum",
Start: &calendar.EventDateTime{
DateTime: "2020-02-12T09:00:00-07:00",
TimeZone: "America/Chicago",
},
End: &calendar.EventDateTime{
DateTime: "2020-02-12T17:00:00-07:00",
TimeZone: "America/Chicago",
},
}
calendarId := "primary"
event, err = srv.Events.Insert(calendarId, event).Do()
if err != nil {
logAndPrintError(err)
}
log.Printf("Event created: %s\n", event.HtmlLink)
}
Когда я просматриваю журнал и отчеты об ошибках, ошибок нет, и журналы показывают это сообщение:
Событие создано: URL-адрес календаря
, но когда я копирую ссылку и go в свою учетную запись Google B и загружаю ее, в Календаре Google появляется сообщение «Не удалось найти запрошенное событие». Стоит отметить, что если я загружу URL в учетную запись A, он говорит то же самое.
По какой-то причине t здесь нет ошибки, но событие не работает. Я не думаю, что это проблема в моем коде, но проблема в учетных данных, но я могу ошибаться.
Примечание: Я не загружаю никаких ключей, Я использую AD C с App Engine, чтобы получить свои учетные данные.