使用Graph API访问日历遇编译错误:'CalendarsRequestBuilder'无'Request'定义
解决Microsoft Graph API中'CalendarsRequestBuilder'无'Request'定义的问题
这个错误是因为你使用了Microsoft Graph SDK v5.x版本,该版本重构了请求构建逻辑,移除了旧版本(v4及更早)里的Request()方法调用。
修正后的代码
直接调用Calendars集合的GetAsync()方法即可,无需Request():
var calendars = await graphClient.Me.Calendars.GetAsync(); List<string> calendarNames = new List<string>(); foreach (var calendar in calendars.Value) { calendarNames.Add(calendar.Name); }
注意:v5.x版本中,GetAsync()返回的是CalendarCollectionResponse类型,需要通过.Value属性获取实际的日历列表。
额外检查点
- 确认所有Microsoft Graph相关NuGet包(Microsoft.Graph、Microsoft.Graph.Core)版本一致,避免混合v4和v5版本导致的兼容性问题。
- 如果你坚持使用旧版本的写法,需要将所有Graph相关包降级到v4.x版本,但推荐使用最新的v5.x版本的API风格。
内容的提问来源于stack exchange,提问作者Team Freytag
相关产品推荐
相关产品推荐

