Microsoft 团队机器人 - 无法解析租户 ID

Microsoft teams bot - could not parse tenant id

我正在为 MS Teams 开发一个机器人,运行 遇到了一个问题。尝试从机器人发起对话时,出现此错误:

Microsoft.Rest.HttpOperationException: Could not parse tenant id

我无法在文档中找到任何提到必需的租户 ID 的地方,而且我从未在应用程序中设置过。我该如何指定它,或者根本原因是其他原因?

下面是我正在使用的代码 returns 错误(字符串混淆)。

private ConversationResourceResponse GetConversation(IActivity activity)
    {
        var connector = new ConnectorClient(new Uri(activity.ServiceUrl));

        var userAccount = new ChannelAccount("user@domain.com");
        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://docs.microsoft.com/en-us/microsoftteams/platform/scenarios/bots-personal-conversations#starting-a-11-conversation