Google Calendar API:新的事件属性

时间:2011-05-01 07:16:08

标签: google-calendar-api gdata-api gdata

我正在开发一款使用GData API for Google Calendar in Java连接到Google日历的Android APP。到目前为止,我已设法创建活动,但我只能设置标题,描述和时间。

有人知道我在哪里可以找到参考或样本,其中包含我可以为事件设置的所有参数吗?

我给你留下了一些迄今为止我所取得的成就。

CalendarService calendarService = new CalendarService("CalendarAPP");
calendarService.setUserCredentials(<username>, <password>);
URL postUrl = new URL("https://www.google.com/calendar/feeds/<GMAIL ACCOUNT>/private/full");
CalendarEventEntry myEntry = new CalendarEventEntry();

myEntry.setTitle(new PlainTextConstruct("Tennis with Beth"));
myEntry.setContent(new PlainTextConstruct("Meet for a quick lesson."));

DateTime startTime = DateTime.now();
DateTime endTime = DateTime.now();
When eventTimes = new When();
eventTimes.setStartTime(startTime);
eventTimes.setEndTime(endTime);
myEntry.addTime(eventTimes);

CalendarEventEntry insertedEntry = connection.getCalendarService().insert(postUrl, myEntry);

提前致谢。

Mikywan。

1 个答案:

答案 0 :(得分:1)

Google日历的GData非常棒。对于您可能想要设置或获取的每个属性,都定义了Getter和Setter。您只需在事件条目上查找适合您要访问的数据的setter / getter。

我举一个例子,说明如何在控制台上显示几乎所有你想要的数据。

享受!

private static void showCalendarEventEntry(CalendarEventEntry entry) {
    assert entry != null;
    System.out.println("-------------------------------------------");
    System.out.println("START showCalendarEventEntry");
    System.out.println("");
    System.out.println("ID: " + entry.getId());
    System.out.println("TITLE: "+entry.getTitle().getPlainText());
    System.out.println("DESCRIPTION: "+entry.getPlainTextContent());
    System.out.println("LOCATION: "+entry.getLocations().get(0).getValueString());

    System.out.println("");
    System.out.println("TIMES");
    if (entry.getTimes().size() > 0) {
        When eventTimes = entry.getTimes().get(0);
        if (eventTimes.getStartTime().isDateOnly()) {
            System.out.println("\tWHEN: ALL DAY");
        } else {
            System.out.println("\tWHEN: TIME");
        } 

        if (entry.getRecurrence() != null)
            System.out.println("\tRECURRENCE: "+entry.getRecurrence().toString()); 

        System.out.println("\tSTART TIME: "+eventTimes.getStartTime());
        System.out.println("\tEND TIME: "+eventTimes.getEndTime());
    }

    System.out.println("");
    System.out.println("PARTICIPANTS");
    System.out.println("\t"+(entry.getParticipants().size()) + " PARTICIPANTS");
    if (entry.getParticipants().size() > 0){

        for (int i=0; i<entry.getParticipants().size(); i++) {
            EventWho participant = entry.getParticipants().get(i);
            System.out.println("\t\tPARTICIPANT "+participant.getValueString());
            System.out.println("\t\t\tTYPE: "+participant.getAttendeeType());
            System.out.println("\t\t\tSTATUS: "+participant.getAttendeeStatus());
        }
        if (entry.isGuestsCanInviteOthers())
            System.out.println("\tGUESTS CAN INVITE OTHERS: ");
        if (entry.isGuestsCanModify())
            System.out.println("\tGUESTS CAN MODIFY");
        if (entry.isGuestsCanSeeGuests())
            System.out.println("\tGUESTS CAN SEE GUESTS");
    } 

    //REMINDERS
    System.out.println("");
    System.out.println("REMINDERS");
    System.out.println("\t"+entry.getReminder().size()+" REMINDERS");
    if (entry.getReminder().size() > 0) {
        for (int i=0; i<entry.getReminder().size(); i++) {
            Reminder reminder = entry.getReminder().get(i);
            System.out.println("\t\tREMINDER "+i);
            System.out.println("\t\t\tMETHOD: "+reminder.getMethod().toString());
            System.out.println("\t\t\tDAYS: "+reminder.getDays());
            System.out.println("\t\t\tHOURS: "+reminder.getHours());
            System.out.println("\t\t\tMINUTES: "+reminder.getMinutes());                
        }
    }

    //VISIBILITY
    System.out.println("");
    System.out.println("VISIBILITY: "+entry.getVisibility().getValue());

    System.out.println("");
    System.out.println("END showCalendarEventEntry");
    System.out.println("-------------------------------------------");
}