我有 ac# 应用程序,它在谷歌日历中创建事件。出于自己的目的,它控制事件的 UID,有时还想删除和重新创建事件。
当尝试使用与已删除事件相同的 UID 重新创建事件时,它会收到“远程服务器返回错误:(409)冲突。”
我可以通过将“?showdeleted=true&showhidden=true”附加到请求 URL 来查看已删除的事件。
但是,我在 API 中看不到任何允许我在检索事件后取消删除已删除事件的内容。
有什么建议么?
更新:
尝试杰伊的建议我有类似的东西
var service = new CalendarService();
service.setUserCredentials("XXX", "XXX");
var query = new CalendarQuery { Uri = new Uri("http://www.google.com/calendar/feeds/default/owncalendars/full") };
var cal = service.Query(query).Entries
.Select (e => new { Title = e.Title.Text, Uri = e.SelfUri,
Id = e.SelfUri.Content.Split('/').Last () } )
.Single (e => e.Title == calendarName);
var eventQuery = new EventQuery(string.Format(@"http://www.google.com/calendar/feeds/{0}/private/full?showdeleted=true&showhidden=true", cal.Id));
var evs = service.Query(eventQuery).Entries.Cast<EventEntry>().ToList();
evs[0].Status = EventEntry.EventStatus.CONFIRMED;
service.Update(ev[0]);
它给了我“远程服务器返回错误:(404)未找到。”