Я использую API Календаря Google в своем приложении Rails 5.2.3 и пытаюсь создать события в Календаре Google в своем домене G Suite. Я уже могу читать календарь и список событий. Когда я пытаюсь вставить событие, я получаю сообщение об ошибке «requiredAccessLevel: у вас должен быть доступ для записи в этот календарь».
Поскольку это для внутреннего приложения, я зарегистрировал учетную запись службы в консоли API Google и убедился, что она может читать календари и события.
В консоли администратора G Suite я дал разрешения учетной записи службы для областей действия https://www.googleapis.com/auth/calendar и https://www.googleapis.com/auth/calendar.events
Я сам создал календарь под своей учетной записью и добавил служебную учетную запись с разрешениями «Внести изменения в события»
Это пример кода, который я запускаю.
calendar_id = '12345' #obviously not but I've verified that I have the right calendar.
scopes = ['https://www.googleapis.com/auth/calendar', 'https://www.googleapis.com/auth/calendar.events']
authorization = Google::Auth.get_application_default(scopes)
client = Google::Apis::CalendarV3::CalendarService.new
client.authorization = authorization
start_time = Time.current
end_time = Time.current + 2.hours
newEvent = Google::Apis::CalendarV3::Event.new({
summary: "Sample Event",
start: {
date_time: start_time.rfc3339,
time_zone: start_time.strftime("%Z")
},
end: {
date_time: end_time.rfc3339
time_zone: end_time.strftime("%Z")
}
})
result = client.insert_event(calendar_id, newEvent)
Я уверен, что где-то пропустил разрешение на доступ для записи, но не понял, почему я получаю "requiredAccessLevel: вам нужен доступ для записи к этому календарю". вместо вставки рабочая. Спасибо за любые предложения!