C# 使用Microsoft Graph删除一系列日历事件不包括边界上的“全天”事件
我正在尝试使用Microsoft Graph清除一组日历事件 这是我的筛选字符串: 开始/日期时间ge'2020-10-26T00:00'和结束/日期时间le'2020-11-01T23:59' 我注意到,在某些情况下,周日的任何日历事件都不会在该周被删除 在进一步检查时,仅当事件设置了全天标志时才会发生这种情况 因此,当我的活动有一个开始/结束时间时,它会拾取整个星期内的所有活动。但是,如果用户将星期日事件设置为全天事件,并且没有时间范围,则不会拾取和删除该事件 这是我当前的删除例程:C# 使用Microsoft Graph删除一系列日历事件不包括边界上的“全天”事件,c#,microsoft-graph-api,microsoft-graph-calendar,C#,Microsoft Graph Api,Microsoft Graph Calendar,我正在尝试使用Microsoft Graph清除一组日历事件 这是我的筛选字符串: 开始/日期时间ge'2020-10-26T00:00'和结束/日期时间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上使用带Visual C的Microsoft Graph 3.2
注意:最初讨论并回答了此删除事件的方法,但我不知道全天事件在限制范围内会出现此问题
Microsoft Graph团队中是否有人在积极寻找引起他们注意的问题?谢谢。您在邮递员或图形浏览器中试用过吗?您是否看到与MS Graph SDK相同的结果?@Shiva MSFTIdentity我不知道如何尝试您提到的建议。很抱歉延迟回复,我的意思是您是否尝试使用或邮递员删除全天标记为true的事件,以便我们能够了解它是仅从SDK角度发生还是从其发生图服务器发生。尝试使用未被删除的id,并尝试使用邮递员使用简单的删除请求将其删除。@Shiva MSFTIdentity很遗憾,我现在已删除了我正在使用的临时日历。我想这将是一个简单的测试,让微软的人来测试他们自己。