寻找与Get-CsOnlineUser等效的MS Graph REST API及字段获取方法
使用MS Graph API替代Get-CsOnlineUser获取Teams用户语音属性
你提到的lineUri、onlineVoiceRoutingPolicy、onlineDialOutPolicy属于Teams语音专属属性,并不包含在通用/users端点返回的用户对象中,需要调用专门的Teams通信用户端点来获取:
正确的API请求
单个用户查询
直接请求Teams在线用户资源,指定用户ID或UPN:
GET https://graph.microsoft.com/v1.0/communications/onlineUsers/user@company.com
筛选指定字段
如果只需要目标字段,添加$select参数:
GET https://graph.microsoft.com/v1.0/communications/onlineUsers/user@company.com?$select=lineUri,onlineVoiceRoutingPolicy,onlineDialOutPolicy
返回示例
请求成功后会返回包含目标属性的JSON结构,其中策略类属性会以对象形式展示:
{ "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#communications/onlineUsers(lineUri,onlineVoiceRoutingPolicy,onlineDialOutPolicy)/$entity", "lineUri": "tel:+1234567890", "onlineVoiceRoutingPolicy": { "id": "Global", "displayName": "Global", "description": "Default policy for all users" }, "onlineDialOutPolicy": { "id": "AllowInternationalDialOut", "displayName": "Allow International Dial-Out", "description": "Allows users to dial out internationally" } }
权限要求
调用该端点需要以下权限之一(根据访问场景选择):
- 委派权限(用户登录场景):
TeamsVoice.Read.All或TeamsVoice.ReadWrite.All - 应用权限(后台服务场景):
TeamsVoice.Read.All或TeamsVoice.ReadWrite.All
内容的提问来源于stack exchange,提问作者John Gordon
相关产品推荐
相关产品推荐

