关于Bot Framework Get conversation members接口无法获取部分ChannelAccount对象的问询
问题解答
接口返回限制说明
你遇到的Get conversation members接口无法获取从未和机器人发生过交互的成员ChannelAccount对象属于产品原生设计。该接口的权限逻辑做了默认限制,仅会返回与机器人有过至少一次交互记录的会话成员信息,未交互成员的信息不会通过该接口暴露,是平台为避免机器人无限制拉取会话内用户隐私数据做的安全策略。
@未交互用户的实现方案
可以通过MS Graph API实现@从未与机器人交互过的用户,无需提前通过Bot Framework接口获取用户的ChannelAccount信息。
仅持有Teams用户的AAD Object ID时,也可正常发送带@提及的消息,实现逻辑如下:
- 调用Graph API发送对应场景(单聊/群聊/团队频道)的消息时,先在消息体的
mentions数组中构造提及对象,核心填入三个字段:id字段对应用户的AAD Object ID,mentionText字段填消息中要显示的@文本(通常为@+用户显示名),userIdentity内的id和displayName分别对应用户的AAD Object ID和用户显示名即可。 - 在消息正文的对应位置插入和
mentionText完全一致的内容,发送后平台会自动识别为有效@提及,被@的用户会收到正常的提醒通知。 - 注意提前为你的应用申请对应场景的Graph API权限,权限审批通过后即可正常调用接口实现需求。
内容的提问来源于stack exchange,提问作者Ju Chen
相关产品推荐
相关产品推荐

