在图表中获取会议系列的重复最后一次发生结束日期

Getting recurrence last occurence end date of meeting Series in graph

我正在编写一个应用程序来帮助用户利用 Microsoft Graph 的 dotnet sdk 安排重复事件。
使用与此类似的代码,我正在使用 NumberOfOccurences 安排一个重复事件来限制将创建的会议数量。

var updatingEvent = new Event
{
     Subject = "test",
     Location = new Location { DisplayName = "Montreal" },
     IsAllDay = false,
     Start = getTimeZoneFromDateTime(DateTime.Now, tzLabel),
     End = getTimeZoneFromDateTime(DateTime.Now.AddHours(1), tzLabel),
     OnlineMeetingUrl = "someurl",
     Body = new ItemBody { Content = emailBody.HtmlBody, ContentType = BodyType.Html },
     ShowAs = FreeBusyStatus.Busy,
     Recurrence = new PatternedRecurrence
            {
                Range = new RecurrenceRange
                {
                    StartDate = new Date(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day),
                    Type = RecurrenceRangeType.Numbered,
                    NumberOfOccurrences = 3
                },
                Pattern = new RecurrencePattern
                {
                     Interval = 1,
                    Type = RecurrencePatternType.Daily
                }
            };
};

我想获得最后一次发生的结束日期(或重复结束日期),而不必查询所有发生的事件 and/or 必须在我这边计算它。 这样我就可以查询实例而不必迭代 and/or 设置任意日期。

var request = graphClient.Users[Settings.SkypeUserEmail].Calendar
                                               .Events[updatedEvent.id]
                                               .Instances
                                               .Request();
request.QueryOptions.Add(new QueryOption("startDateTime", DateTime.Now.AddDays(-1).ToString("s")));
request.QueryOptions.Add(new QueryOption("endDateTime", DateTime.Now.AddDays(5).ToString("s")));

感谢您的帮助! var instancesPage = await request.GetAsync();

更新:以下答案无效,因为在使用 numberOfOccurences 参数设置系列时 endDate 为空。

我没有看到查询最后一次出现的直接方法,但类似的方法可能有效。基本上在很长一段时间内查询该系列的实例,select 最后一个。

https://graph.microsoft.com/v1.0/me/events/[series master id]/instances?startdatetime=2010-01-01T00:00:00&enddatetime=2020-01-01T00:00:00&$orderby=start/dateTime desc&$top=1


系列事件中有一个 recurrence 对象具有 endDate 字段。例如:

如果您没有系列事件,您可以在任何重复事件上找到与该系列相对应的 seriesMasterId 属性。

相关链接:

我以为 dan-silver 会更新他的回答以表明目前不可能。
如果您创建一个设置了多次发生的周期性事件,则结束日期将为空。 所以您要么必须在 API 处随机查询日期,要么查询所有出现的事件以获得系列的总体结束日期 。如果能在 Graph 的未来版本中添加一些东西会很好。