Google Calendar API с Android - удалить событие

Я хотел бы удалить событие из календаря с помощью следующего кода:

//insertedEntry: I want to delete it.

"client.executeDelete(insertedEntry);" 

in the Class CalendarClient: 
"  public void executeDelete(Entry entry) throws IOException { 
    HttpRequest request = requestFactory.buildDeleteRequest(new GenericUrl(entry.getEditLink())); 
    request.execute().ignore(); 
   } "

В чем дело?

Я начал строить свою модель из этой "базы" (calendar-v2-atom-oauth-sample): http://code.google.com/p/google-api-java-client/source/browse/? репо = образцы #% Hg 2Fcalendar-v2-атом-OAuth-образец% 2Fsrc% 2Fcom% 2Fgoogle% 2Fapi% 2Fclient% 2Fsample% 2Fcalendar% 2Fv2% 2Fmodel

2 ответа

Решение

Добавил это в EventEntry.java:

@Key("@gd:etag")
public String etag;

Добавил это в CalendarClient.java:

   public void executeDelete(Entry entry) throws IOException {
        HttpRequest request = requestFactory.buildDeleteRequest(new GenericUrl(entry.getEditLink()));
        if (entry instanceof EventEntry) {
            request.headers.ifMatch = ((EventEntry) entry).etag;
        }
        request.execute().ignore();
    }

Я только что столкнулся с этим, получая 403 Запрещенную ошибку.

Интересно, что CalendarClient.executeDelete работает для CalendarEntry, как показано в этом примере:

http://samples.google-api-java-client.googlecode.com/hg/calendar-v2-atom-android-sample/src/com/google/api/client/sample/calendar/android/CalendarAndroidSample.java

Должен продолжать копать, чтобы найти решение для удаления события.

Другие вопросы по тегам