在 Google 日历 API 中屏蔽与与会者回复相关的电子邮件通知

Muting Email Notifications related to Attendee Responses in Google Calendar API

我添加了将 google 日历与我的应用程序事件同步的功能。但问题是,每当活动参与者响应 google 日历活动时,活动 organizer/creator 就会收到来自 google 的电子邮件。我只想收到 creation/updation 事件的电子邮件通知。我添加了 notification_settings 并保留了 event_response 方法到 blank 但它没有用。

CALENDAR_ID = 'primary'
CALENDAR_NOTIFIER = 'externalOnly'

gcal_event = client.insert_event(
                                 CALENDAR_ID,
                                 Google::Apis::CalendarV3::Event.new(gcal_event_params(gcal_event_attendees)),
                                 send_updates: CALENDAR_NOTIFIER
                                )


-----------------------
// added notification_settings later so that the organizer should not receive event response, but no luck so far.

def gcal_event_params(gcal_event_attendees)
 {
        summary: event.name,
        description: event.description,
        location: event.location,
        start: { date_time: event.start.to_datetime.to_s, time_zone: org_timezone },
        end: { date_time: event.ends.to_datetime.to_s, time_zone: org_timezone },
        attendees: gcal_event_attendees,
        reminders: { use_default: true },
        notification_settings: {
          notifications: [
                          {type: 'event_creation', method: 'email'},
                          {type: 'event_change', method: 'email'},
                          {type: 'event_cancellation', method: 'email'},
                          {type: 'event_response', method: ''}
                         ]
        }  }
end

答案:

事件创建、更改、取消和响应的通知设置是日历本身的设置,不是日历的单个事件。 Events: insertnotification_settings 参数不存在,这就是它不起作用的原因。

更多信息:

我不太确定您链接的博客的作者是从哪里获取信息的,但是日历 API 的 Events: insert 方法没有此参数。

calendar.google.com 的用户界面中,您可以在 整个日历[的设置页面中看到您所指的通知设置=70=],不针对个别事件:

对于单个事件,在创建事件时,您可以使用 sendUpdates 参数指定在创建事件时应通知谁(如果有人) 。相同的参数作为 Events: update 方法的一部分存在,它允许您设置谁得到通知 该特定更改.

如果您想为事件的创建、更改和取消设置通知,而不是为事件响应设置通知,则需要为日历本身设置。然而不幸的是,这不是可以用 API 完成的事情,需要在用户界面本身中设置。

不幸的是,这确实意味着您正在做的事情无法通过日历实现 API。

功能请求:

如果您对此感兴趣,您可以让 Google 知道这是一项对日历 API 很重要的功能,并且您希望请求他们实现它。 Google 的 Issue Tracker is a place for developers to report issues and make feature requests for their development services. The page to file a Feature Request for the Calendar API is here.

参考文献: