检索聊天成员机器人框架

时间:2020-07-02 10:30:24

标签: botframework microsoft-teams

简要说明: 我在Microsoft团队中创建了一个基于动作的消息扩展bot。 现在,如果在1:1对话中触发了操作,我将检索在OnTeamsMessagingExtensionSubmitActionAsync上发送的所有参数,并将它们发送到我的后端Web服务。我还需要发送收件人电子邮件和发件人电子邮件。 问题是无法从bot框架中检索成员。

在Microsoft文档中,要检索聊天成员,我们应使用以下代码:

GraphServiceClient graphClient = new GraphServiceClient( authProvider );

var members = await graphClient.Me.Chats["{id}"].Members
    .Request()
    .GetAsync();

但是,该ID并非从ITurnContext<IInvokeActivity> turnContext中获取的会话ID或活动ID

我还尝试了以下操作:

   string serviceUrl = "https://smba.trafficmanager.net/emea/";
     Dictionary<string, List<string>> customHeaders = new Dictionary<string, List<string>>();
       customHeaders.Add("Authorization", new List<string> { "Bearer " + myToken }); 
    var connector = new ConnectorClient(new Uri(serviceUrl), new MicrosoftAppCredentials(botClientID, botClientSecret));
     var members =  connector.Conversations.GetConversationMembersWithHttpMessagesAsync(turnContext.Activity.Conversation.Id, customHeaders,cancellationToken).Result.Body;

我收到“操作返回了无效的状态码“禁止””。

API权限全部授予: enter image description here

所以有什么想法如何检索OnTeamsMessagingExtensionSubmitActionAsync上的聊天ID或聊天成员?

所以现在我想使用DejanJanjušević提供的解决方案尝试另一种方法:

Operation returned an invalid status code 'Forbidden' when calling GetConversationMembersAsync for 1:1 private conversation

现在,当尝试将Bot添加到对话中时,出现以下错误:

出了点问题,请稍后再试。 enter image description here

0 个答案:

没有答案