2011-09-11 66 views
1

我想使用Google Calendar API編輯活動。 在例如有修改日曆代碼:如何在Android上編輯Google日曆活動?

Entry executePatchRelativeToOriginal(Entry updated, Entry original) throws IOException { 
    AtomPatchRelativeToOriginalContent content = new AtomPatchRelativeToOriginalContent(); 
    content.namespaceDictionary = DICTIONARY; 
    content.originalEntry = original; 
    content.patchedEntry = updated; 
    HttpRequest request = 
     requestFactory.buildPatchRequest(new GenericUrl(updated.getEditLink()), content); 
    return request.execute().parseAs(updated.getClass()); 

和它的作品,如果我想編輯日曆,但它不具有編輯活動中起作用:我有例外:

09-11 17:29:13.516: WARN/System.err(15787): com.google.api.client.http.HttpResponseException: 403 Forbidden 

當然我有編輯事件的癖好。 此外,刪除日曆的方法與刪除事件相同。 刪除功能:

public void executeDelete(Entry entry) throws IOException { 
    HttpRequest request = requestFactory.buildDeleteRequest(new GenericUrl(entry.getEditLink())); 
    request.execute().ignore(); 
} 

任何想法?

回答

0

問題解決了!我在Atom中使用HTTP PUT而不是HTTP PATCH,並修改了原始事件,而不是創建對象的另一個實例。

這裏是一個工作代碼:

public EventEntry executePutUpdateEvent(EventEntry updated) throws IOException { 
AtomContent content = new AtomContent(); 
content.namespaceDictionary = DICTIONARY; 
content.entry = updated; 
HttpRequest request = 
    requestFactory.buildPutRequest(new GenericUrl(updated.getEditLink()), content); 
return request.execute().parseAs(updated.getClass());}