我想使用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();
}
有什么想法吗?
答案 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());}