2011-05-01 143 views
2

我正在開發一個Android應用,該應用使用GData API for Google Calendar in Java連接到Google日曆。到目前爲止,我已經設法創建活動,但我只能設置標題,描述和時間。Google日曆API:新活動屬性

有沒有人知道我可以在哪裏找到一個參考或帶有可設置爲事件的所有參數的示例?

我給你留下了一些我迄今爲止取得的成果的代碼。

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

谷歌日曆的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("-------------------------------------------"); 
}