You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Microsoft Graph创建无提醒日历事件时抛出异常的原因排查

Microsoft Graph SDK v5中ReminderMinutesBeforeStart设为null引发ODataError的问题

我在使用Microsoft Graph SDK v5创建日历事件时遇到异常,以下代码仅在bSetReminder为false时触发Microsoft.Graph.Models.ODataErrors.ODataError,为true时可正常执行:

// Add the event
Event createdEvent = await _graphClient.Me.Calendars[oSettings.CalendarID].Events.PostAsync(new Event
{
    Subject = oEvent.GetSubject(),
    Body = body,
    Start = startTime,
    End = endTime,
    IsAllDay = oEvent.IsAllDayEvent(),
    IsReminderOn = bSetReminder,
    ReminderMinutesBeforeStart = bSetReminder ? iReminderMinutes : (int?)null,
    Location = location,
    SingleValueExtendedProperties = extendedProperties,
    Sensitivity = oSettings.SetCalendarPrivate ? Sensitivity.Private : Sensitivity.Normal
});

经排查,问题出在这行代码:

ReminderMinutesBeforeStart = bSetReminder ? iReminderMinutes : (int?)null

我尝试捕获异常但未获取到有效细节:

catch (Microsoft.Graph.Models.ODataErrors.ODataError ex)
{
    SimpleLog.Log(ex);
    SimpleLog.Log(ex.InnerException);
    return false;
}

将代码修改为以下形式后可正常运行:

ReminderMinutesBeforeStart = bSetReminder ? iReminderMinutes : 0

查看SDK v5中ReminderMinutesBeforeStart的属性定义仍为int?类型,无法理解为何传入(int?)null会引发异常,需要具体的原因解释。

内容的提问来源于stack exchange,提问作者Andrew Truckle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 08:27:40