简要说明:
我在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;
我收到“操作返回了无效的状态码“禁止””。
所以有什么想法如何检索OnTeamsMessagingExtensionSubmitActionAsync
上的聊天ID或聊天成员?
所以现在我想使用DejanJanjušević提供的解决方案尝试另一种方法:
现在,当尝试将Bot添加到对话中时,出现以下错误: