我正在为 MS Teams 开发一个机器人,但遇到了问题。当尝试从机器人发起对话时,我收到此错误:
Microsoft.Rest.HttpOperationException: Could not parse tenant id
我在文档中找不到任何提及所需租户 ID 的地方,而且我从未在应用程序中设置过该 ID。我该如何指定这一点,或者根本原因是其他原因?
下面是我正在使用的返回错误的代码(字符串被混淆)。
private ConversationResourceResponse GetConversation(IActivity activity)
{
var connector = new ConnectorClient(new Uri(activity.ServiceUrl));
var userAccount = new ChannelAccount("<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="552026302715313a38343c3b7b363a38" rel="noreferrer noopener nofollow">[email protected]</a>");
var botAccount = new ChannelAccount("@botHandle", "botName");
var conversationId = connector.Conversations.CreateDirectConversation(botAccount, userAccount);
return conversationId;
}
谢谢!
最佳答案
当您想要创建对话时,MS Teams 中有一种特殊行为,因此您必须使用 MS Teams NuGet 包提供的特定方法:
// Create or get existing chat conversation with user
var response = client.Conversations.CreateOrGetDirectConversation(activity.Recipient, activity.From, activity.GetTenantId());
您可以看到该方法的参数中有tenantId
。
NuGet 包名为 Microsoft.Bot.Connector.Teams
,可用 here .
有关 MS Teams 文档的更多详细信息(Bot 框架方面未详细说明): https://learn.microsoft.com/en-us/microsoftteams/platform/scenarios/bots-personal-conversations#starting-a-11-conversation
关于c# - Microsoft 团队机器人 - 无法解析租户 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48102932/