Я получаю исключение при использовании API Календаря Google Java, из-за которого у меня не получается ни головы, ни хвоста.То, что я делаю, - это создание соединителя с Календарем Google, который вставляет события.Некоторые из этих событий повторяются, а некоторые имеют исключения из шаблона повторения.Я был очень успешным в создании событий и повторяющихся событий, но у меня возникают эти проблемы при попытке сделать исключения.
Код, который я использую:
CalendarEventEntry gglAppt = new CalendarEventEntry();
OriginalEvent originallink = new OriginalEvent();
originallink.setOriginalId(repeatingEvent.getIcalUID());
When originalWhen = new When();
originalWhen.setStartTime(DateTime.parseDate("2011-05-01"));
originallink.setOriginalStartTime(originalWhen);
When exceptionWhen = new When();
exceptionWhen.setStartTime(DateTime.parseDate("2011-05-10"));
gglAppt.setOriginalEvent(originallink);
gglAppt.setStatus(EventStatus.CANCELED);
gglAppt.addTime(exceptionWhen);
try {
//I can vouch for this line, it works elsewhere in the code.
//CalendarServiceManager is a custom class if you didn't guess ;-)
CalendarServiceManager.getInstance().addNewEvent(gglAppt, http://www.google.com/calendar/feeds/default/calendars/testemail%40gmail.com);
} catch (IOException e) {
e.printStackTrace();
} catch (ServiceException e) {
e.printStackTrace();
}
Исключение составляет:
com.google.gdata.util.InvalidEntryException: Bad Request
Element must contain value for attribute id
at com.google.gdata.client.http.HttpGDataRequest.handleErrorResponse(HttpGDataRequest.java:594)
at com.google.gdata.client.http.GoogleGDataRequest.handleErrorResponse(GoogleGDataRequest.java:563)
at com.google.gdata.client.http.HttpGDataRequest.checkResponse(HttpGDataRequest.java:552)
at com.google.gdata.client.http.HttpGDataRequest.execute(HttpGDataRequest.java:530)
at com.google.gdata.client.http.GoogleGDataRequest.execute(GoogleGDataRequest.java:535)
at com.google.gdata.client.Service.insert(Service.java:1409)
at com.google.gdata.client.GoogleService.insert(GoogleService.java:599)
at com.testapp.google.CalendarServiceManager.addNewEvent(CalendarServiceManager.java:138)
at com.testapp.google.GoogleAdapter.dealWithExceptions(GoogleAdapter.java:581)
...etc
Мое понимание того, что я видел вокруг паутин, заключается в том, чтоID атрибута - это то, что вы устанавливаете для объектов Google, чтобы отслеживать их.Я не знаю, где установить идентификатор атрибута, и меня удивляет, почему мне не пришлось устанавливать идентификатор атрибута ни для одного из других событий, которые я отправил.
Что это за исключение, которое выдается?Что это значит и что мне с этим делать?
Любая помощь будет принята с благодарностью, как всегда.