I am adding an event using Google Calendar Java API (version v3-rev305-1.23.0). Event addition goes successfully but the problem I am facing is the reminders that appear in the event.
My code structure is same as available in Java example on this - https://developers.google.com/calendar/create-events#java. And I have provided the code snippet of the event reminder below.
Event event = new Event()
.setSummary(insertEvent.getSummary())
.setDescription(insertEvent.getDesc());
DateTime reminderDate = DateTime.parseRfc3339(insertEvent.getReminderDate());
EventDateTime start = new EventDateTime().setDate(reminderDate);
event.setStart(start);
EventDateTime end = new EventDateTime().setDate(reminderDate);
event.setEnd(end);
List<EventAttendee> attendees = new ArrayList<>();
for (String reminderEmail : insertEvent.getReminderEmails()) {
attendees.add(new EventAttendee().setEmail(reminderEmail));
}
event.setAttendees(attendees);
EventReminder[] reminderOverrides = new EventReminder[] {
new EventReminder().setMethod("email").setMinutes(5 * 24 * 60),
new EventReminder().setMethod("popup").setMinutes(10),
};
Event.Reminders reminders = new Event.Reminders()
.setUseDefault(false)
.setOverrides(Arrays.asList(reminderOverrides));
event.setReminders(reminders);
event = this.calendar.events().insert(insertEvent.getCalendarId(), event).execute();
Please note that there are 2 reminders being set here, one being an email 5 days before and second is a popup 10 minutes before. But after the event is created I see different reminders. They are also 2 reminders but not the ones that I have coded and executed. If anyone is facing such an issue then please let me know how to solve this. Thanks very much.
Are you checking the reminders view in the Calendar UI with the same user that created the event via the API? Reminders are set per-attendee and cannot be modified / set by any other user including the event organizer / creator.
For details read about shared / private properties of events in the Calendar API.