我有一个 C# 应用程序,可以在谷歌日历中创建事件。出于其自身目的,它控制事件的 UID,有时想要删除并重新创建事件。
当尝试重新创建与已删除事件具有相同 UID 的事件时,会收到“远程服务器返回错误:(409) 冲突”。
我可以通过将“?showdeleted=true&showhidden=true”附加到请求 URL 来查看已删除的事件。
但是,我在 API 中没有看到任何允许我在检索已删除事件后取消删除的内容。
有什么建议么?
UPDATE:
尝试杰伊的建议我有类似的东西
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)未找到。”
您可以取消删除an event https://developers.google.com/google-apps/calendar/v3/reference/events通过改变它status
属性来自cancelled
to confirmed
你可以自己尝试一下events.patch() https://developers.google.com/google-apps/calendar/v3/reference/events/patch操作在。您需要打开 OAuth 授权,然后输入日历和事件 ID。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)