如何在Android上编辑Google日历活动?

时间:2011-09-11 15:41:11

标签: java android google-calendar-api

我想使用Google Calendar API编辑活动。 在示例中,有一个编辑日历的代码:

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();
}

有什么想法吗?

1 个答案:

答案 0 :(得分: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());}