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

在ASP.NET WebForms中通过Microsoft Graph获取日历事件的问题

问题描述

在ASP.NET WebForms中通过Microsoft Graph获取Office 365用户信息正常,但获取日历事件时遇到问题:无论选择哪个用户,仅能返回10条事件,怀疑与ODataNextLink有关。需要设置返回结果数量为100,或指定获取某一天的事件(实际仅需单日数据),询问是否有相关配置参数。

解决方案

要实现获取指定用户单日日历事件并控制返回数量,可通过CalendarView接口的查询参数配置,以下是完整实现代码:

var ewsScopes = new string[] { "https://graph.microsoft.com/.default" };
var clientSecCred = new ClientSecretCredential(TenantID1, ClientID1, ClientSecret1);
var GraphClient1 = new GraphServiceClient(clientSecCred, ewsScopes);

var user2 = await GraphClient1.Users[UserToGet].CalendarView.GetAsync(
            requestConfiguration =>
            {
                // 设置查询起始日期(当日零点)
                requestConfiguration.QueryParameters.StartDateTime = DateToUse.ToString("yyyy-MM-dd");
                // 设置查询结束日期(当日23点)
                requestConfiguration.QueryParameters.EndDateTime = DateToUse.AddHours(23).ToString("yyyy-MM-dd");
                // 设置最大返回条目数为100
                requestConfiguration.QueryParameters.Top = 100;
            }
        );

foreach (var ev1 in user2.Value)
{
    lblDates.Text = lblDates.Text + "<br/>" + ev1.Start.DateTime + "&nbsp;" + ev1.Subject;
}

关键参数说明

  • Top:控制单次请求返回的最大条目数,最大值可设为999,此处设置为100满足需求
  • StartDateTime/EndDateTime:通过CalendarView指定时间范围,设置为当日0点到23点即可实现单日事件查询
  • 若单日事件超过100条,可通过user2.ODataNextLink发起分页请求,获取剩余数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 04:17:49