#google-calendar-api #gdata-api #gdata
#google-calendar-api #gdata-api #gdata
Вопрос:
Я разрабатываю приложение для Android, которое подключается к Google Calendar с помощью GData API для Google Calendar на Java. До сих пор мне удавалось создавать события, но я мог только задать заголовок, описание и время.
Кто-нибудь знает, где я могу найти ссылку или образец со всеми параметрами, которые я могу установить для события?
Я оставляю вам некоторый код того, чего я достиг на данный момент.
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 для Google Calendar чертовски хороша. Для каждого свойства, которое вы, возможно, захотите установить или получить, определены средство получения и установщик. Вам просто нужно найти параметр установки / получения в записи события, который соответствует данным, к которым вы хотите получить доступ.
Я оставляю пример того, как отобразить на консоли почти все данные, которые вы, возможно, захотите.
Наслаждайтесь!
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("ttPARTICIPANT " participant.getValueString());
System.out.println("tttTYPE: " participant.getAttendeeType());
System.out.println("tttSTATUS: " 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("ttREMINDER " i);
System.out.println("tttMETHOD: " reminder.getMethod().toString());
System.out.println("tttDAYS: " reminder.getDays());
System.out.println("tttHOURS: " reminder.getHours());
System.out.println("tttMINUTES: " reminder.getMinutes());
}
}
//VISIBILITY
System.out.println("");
System.out.println("VISIBILITY: " entry.getVisibility().getValue());
System.out.println("");
System.out.println("END showCalendarEventEntry");
System.out.println("-------------------------------------------");
}