代码之家  ›  专栏  ›  技术社区  ›  David

Microsoft Team bot-无法分析租户id

  •  2
  • David  · 技术社区  · 6 年前

    我正在为MS团队开发一个机器人,遇到了一个问题。尝试从bot启动对话时,我遇到以下错误:

    微软休息HttpOperationException:无法分析租户id

    我在文档中找不到提及所需租户ID的任何地方,而且我从未在应用程序中设置过租户ID。我如何指定这一点,或者根本原因是什么?

    下面是我正在使用的返回错误的代码(字符串模糊)。

    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;
        }
    

    非常感谢。

    1 回复  |  直到 6 年前
        1
  •  3
  •   Martijn Pieters    4 年前

    当您想要创建对话时,MS团队有一种特殊的行为,因此您必须使用MS团队NuGet包提供的特定方法:

    // Create or get existing chat conversation with user
    var response = client.Conversations.CreateOrGetDirectConversation(activity.Recipient, activity.From, activity.GetTenantId());
    

    您可以看到该方法具有 tenantId in参数。

    NuGet包被称为 Microsoft.Bot.Connector.Teams 并且可用 here .

    MS团队文档的更多详细信息(在Bot框架方面没有详细说明): https://docs.microsoft.com/en-us/microsoftteams/platform/scenarios/bots-personal-conversations#starting-a-11-conversation