Решено - API Календаря Google: Как отправить уведомление по электронной почте посетителю, когда я добавлю его в событие? - PullRequest
0 голосов
/ 03 октября 2019

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

Я пробовал event.sendNotifications, но теперь он устарел.

Итак, я перехожу на event.sendUpdates = 'all', но возникает ошибка:

NoMethodError in PagesController#book undefined method sendUpdates=' for #<Google::Apis::CalendarV3::Event:0x00007ff2a9b12ff8>

Вот мой код:

service = init_google_api
event_id = params[:id]
event = service.get_event(ENV['CALENDAR_ID'], event_id)
event.summary = "confirmed"
event.sendUpdates = 'all'
event.attendees = [
  {
    email:'test-email@gmail.com',
    responseStatus: 'accepted'
  }
]
result = service.update_event(ENV['CALENDAR_ID'], event.id, event)

event = service.get_event(ENV['CALENDAR_ID'], event_id)
result = service.update_event(ENV['CALENDAR_ID'], event.id, event)

Когда я удаляю строку event.sendUpdates = 'all', все работает хорошо.

Если кто-то знает, как это исправить или где моя ошибка. Спасибо!

1 Ответ

1 голос
/ 04 октября 2019

В API календаря, sendUpdates используется в качестве параметра запроса. Так как насчет этой модификации?

От:

result = service.update_event(ENV['CALENDAR_ID'], event.id, event)

До:

result = service.update_event(ENV['CALENDAR_ID'], event.id, event, send_updates: 'all')

Ссылка:

Если это не тот результат, который вам нужен, я прошу прощения.

...