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

如何通过Microsoft Graph SDK(C#)获取指定RoomList中的所有会议室?

解决方案

一、正确的SDK调用方式

在Microsoft Graph .NET SDK v5中,要获取指定RoomList下的会议室,需在GraphRoomList之后调用Rooms.GetAsync()——你之前直接调用GraphRoomList.GetAsync()仅会获取RoomList自身信息,不会加载关联的会议室列表。

示例代码:

// 假设roomList是已获取的RoomList对象
var rooms = await graphServiceClient.Places[roomList.EmailAddress]
    .GraphRoomList
    .Rooms
    .GetAsync();

该调用会自动生成你需要的正确请求路径:https://graph.microsoft.com/v1.0/places('roomEmailAddress')/microsoft.graph.roomList/rooms。

二、替代方案:自定义请求路径

如果SDK链式调用仍有异常,可以直接构造请求路径发送请求,绕过SDK自动路由:

using Microsoft.Graph.Models;

// 构造目标请求路径
var requestPath = $"places/{roomList.EmailAddress}/microsoft.graph.roomList/rooms";

// 发送GET请求并解析为Room集合
var response = await graphServiceClient
    .Request(requestPath)
    .GetAsync<RoomCollectionResponse>();

var rooms = response.Value;

三、问题原因说明

你之前的调用返回空rooms属性的核心原因:

  • 该请求仅获取RoomList资源本身,默认不会自动展开关联的rooms导航属性
  • 实际请求路径指向RoomList资源,而非其下的会议室列表

另外,若后续要订阅会议室新增会议通知,可基于获取到的会议室邮箱,创建针对/users/{roomEmail}/events的变更订阅,监听新增事件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 10:52:42