Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Microsoft Graph删除一系列日历事件不包括边界上的“全天”事件_C#_Microsoft Graph Api_Microsoft Graph Calendar - Fatal编程技术网

C# 使用Microsoft Graph删除一系列日历事件不包括边界上的“全天”事件

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' 我注意到,在某些情况下,周日的任何日历事件都不会在该周被删除 在进一步检查时,仅当事件设置了全天标志时才会发生这种情况 因此,当我的活动有一个开始/结束时间时,它会拾取整个星期内的所有活动。但是,如果用户将星期日事件设置为全天事件,并且没有时间范围,则不会拾取和删除该事件 这是我当前的删除例程:

我正在尝试使用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很遗憾,我现在已删除了我正在使用的临时日历。我想这将是一个简单的测试,让微软的人来测试他们自己。