设置Google日历提醒 - 从API v2迁移到API v3 [英] Set Google Calendar Reminder - Migrate from API v2 to API v3

查看:123
本文介绍了设置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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆