设置Google日历提醒 - 从API v2迁移到API v3 [英] Set Google Calendar Reminder - Migrate from API v2 to API v3
本文介绍了设置Google日历提醒 - 从API v2迁移到API v3的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
以前,我有以下可行的Google Calendar API 2
Google Calendar API v2
CalendarEventEntry calendarEventEntry = new CalendarEventEntry();
calendarEventEntry.setTitle(new PlainTextConstruct(message));
calendarEventEntry.setContent(new PlainTextConstruct(message));
calendarEventEntry.addTime(when);
// 0分钟提醒
提醒提醒= new Reminder();
reminder.setMinutes(0);
reminder.setMethod(Method.SMS);
列表<提醒> reminders = calendarEventEntry.getReminder();
reminders.add(提醒);
//发送请求并接收响应:
try {
calendarEventEntry = calendarService.insert(postUrl,calendarEventEntry);
} catch(IOException exp){
log.error(null,exp);
返回false;
} catch(ServiceException exp){
log.error(null,exp);
返回false;
}
返回true;
现在,我想迁移到Google Calendar API v3
//创建一个新事件。
事件事件=新事件();
event.setSummary(message);
event.setStart(startEventDateTime);
event.setEnd(endEventDateTime);
// 0分钟提醒
EventReminder提醒= new EventReminder();
reminder.setMinutes(0);
reminder.setMethod(sms);
列出< EventReminder> listEventReminder = new ArrayList< EventReminder>();
listEventReminder.add(提醒);
System.out.println(Is null?=+ event.getReminders());
event.getReminders()。setOverrides(listEventReminder);
try {
Event createdEvent = service.events()。insert(calendarListEntry.getId(),event).execute();
} catch(IOException ex){
log.error(null,ex);
返回false;
}
返回true;
然而, event.getReminders
会一直返回空值。我想知道,这样做的正确方法是什么?
如果您有兴趣,我将完整的代码集放在GitHub上: GoogleCalendar.java
<$ c $ c> Event.Reminders reminders = new Event.Reminders();
reminders.setUseDefault(false);
列出< EventReminder> listEventReminder = new ArrayList< EventReminder>();
listEventReminder.add(提醒);
reminders.setOverrides(listEventReminder);
event.setReminders(提醒);
System.out.println(Is null?=+ event.getReminders());
Previously, I have the following workable Google Calendar API 2
Google Calendar API v2
CalendarEventEntry calendarEventEntry = new CalendarEventEntry();
calendarEventEntry.setTitle(new PlainTextConstruct(message));
calendarEventEntry.setContent(new PlainTextConstruct(message));
calendarEventEntry.addTime(when);
// 0 minute reminder
Reminder reminder = new Reminder();
reminder.setMinutes(0);
reminder.setMethod(Method.SMS);
List<Reminder> reminders = calendarEventEntry.getReminder();
reminders.add(reminder);
// Send the request and receive the response:
try {
calendarEventEntry = calendarService.insert(postUrl, calendarEventEntry);
} catch(IOException exp) {
log.error(null, exp);
return false;
} catch (ServiceException exp) {
log.error(null, exp);
return false;
}
return true;
Now, I want to migrate to Google Calendar API v3
// Create a new event.
Event event = new Event();
event.setSummary(message);
event.setStart(startEventDateTime);
event.setEnd(endEventDateTime);
// 0 minute reminder
EventReminder reminder = new EventReminder();
reminder.setMinutes(0);
reminder.setMethod("sms");
List<EventReminder> listEventReminder = new ArrayList<EventReminder>();
listEventReminder.add(reminder);
System.out.println("Is null? = " + event.getReminders());
event.getReminders().setOverrides(listEventReminder);
try {
Event createdEvent = service.events().insert(calendarListEntry.getId(), event).execute();
} catch (IOException ex) {
log.error(null, ex);
return false;
}
return true;
However, event.getReminders
will always return null. I was wondering, what is the correct way to do so?
In case you're interested, I place the complete code set at GitHub : GoogleCalendar.java
解决方案
Just by looking at the API, have you tried this?
Event.Reminders reminders = new Event.Reminders();
reminders.setUseDefault(false);
List<EventReminder> listEventReminder = new ArrayList<EventReminder>();
listEventReminder.add(reminder);
reminders.setOverrides(listEventReminder);
event.setReminders(reminders);
System.out.println("Is null? = " + event.getReminders());
这篇关于设置Google日历提醒 - 从API v2迁移到API v3的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文