我正在开发一款使用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。
答案 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("-------------------------------------------");
}