问题描述
我正在尝试使用Microsoft Graph清除一组日历事件。
这是我的过滤器字符串:
start/dateTime ge '2020-10-26T00:00' and end/dateTime le '2020-11-01T23:59'
我注意到在某些情况下,该周日中的任何日历事件都没有在该周删除。
在进一步检查时,只有在事件设置了“全天”标志时才会发生这种情况。
因此,当我的活动有开始/结束时间时,它将拾取整个整周内的所有活动。但是,如果(确实发生了)用户将周日事件设置为没有时间范围的“全天”事件,则该事件不会被拾取和删除。
这是我当前的删除例程:
public async Task<bool> DeleteCalendarEvents(SettingsBase oSettings)
{
try
{
//var oCalendar = await _graphClient.Me.Calendars[oSettings.CalendarID].Request().GetAsync();
//string strName = oCalendar.Name;
var oEvents = await _graphClient
.Me
.Calendars[oSettings.CalendarID]
.Events
.Request()
.Select("Start,Subject,Id") // Todo: Is there any point doing this?
.Top(50)
.Filter(oSettings.GetFilterString())
.OrderBy("start/DateTime")
.GetAsync();
//Program.file.WriteLine($"Calendar {strName}");
List<Event> listEvents = new List<Event>();
listEvents.AddRange(oEvents);
while (oEvents.NextPageRequest != null)
{
oEvents = await oEvents.NextPageRequest.GetAsync();
listEvents.AddRange(oEvents);
}
foreach (Event oEvent in listEvents)
{
//Program.file.WriteLine($"Event Data: {oEvent.Start.DateTime} Id: {oEvent.Id} Subject: {oEvent.Subject}");
await _graphClient.Me.Events[oEvent.Id].Request().DeleteAsync();
}
//Program.file.WriteLine($"Count: {listEvents.Count}" + Environment.NewLine);
}
catch (Exception ex)
{
SimpleLog.Log(ex);
Console.WriteLine("DeleteCalendarEvents: See error log.");
return false;
}
return true;
}
我也需要它来考虑这些全天活动,因为我现在正在重复。
我正在VS2019上使用Microsoft Graph 3.2和Visual C#。
注意:最初讨论并回答了here这种删除事件的方法,但是我不知道这种“全天”事件达到极限的故障。
Microsoft Graph 团队中的任何人都在积极寻找需要引起关注的问题吗?谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)