mar*_*kin 3 c# google-calendar-api
我有 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]);
Run Code Online (Sandbox Code Playgroud)
它给我“远程服务器返回错误:(404)未找到。”
您可以通过将事件的属性从更改为来取消删除事件statuscancelledconfirmed
您可以通过Google API Explorer中的events.patch()操作亲自尝试一下。您需要打开 OAuth 授权,然后输入日历和事件 ID。
| 归档时间: |
|
| 查看次数: |
1489 次 |
| 最近记录: |