首页 > 解决方案 > 以编程方式将机器人 (ms-botbuilder) 添加到 MS Teams 团队/频道

问题描述

我正在寻找一种将机器人添加到该机器人刚刚创建的团队的方法。

  1. 能够通过 bot JS-SDK 通过 MS Graph 创建一个组
graphClient.api("/groups").post({
            displayName: "Some Name",
            mailNickname: "Name without Spaces",
            description: "Some Description",
            visibility: "Private",
            groupTypes: ["Unified"],
            mailEnabled: true,
            securityEnabled: false,
            "members@odata.bind": members, // array of url strings of members
            "owners@odata.bind": owners,
        });

membersowners代表用户的字符串数组: https://graph.microsoft.com/v1.0/users/{user-id}. /users通过搜索找到它们

  1. 然后将一个团队添加到该组(来源:https ://docs.microsoft.com/en-us/graph/api/team-put-teams?view=graph-rest-beta&tabs=javascript ),如下所示:
    graphClient.api(`/groups/${group-id}/team`).put({});
  2. 和渠道 -graphClient.api(`/teams/${group-id}/channels`).post(channel);

找不到将机器人添加到刚刚创建的团队或频道的方法。也许有一种方法可以找到它 guid 或某种 app-id 并将其添加到组中?

标签: botframeworkmicrosoft-graph-apimicrosoft-teamsmicrosoft-graph-sdksmicrosoft-graph-teams

解决方案


所以请记住,Bot 不是普通用户,它是一个应用程序。因此,要将其添加到团队中,您将针对图表使用“将应用程序添加到团队”操作。为此,您需要使用列出 Microsoft Teams 应用程序目录中已发布应用程序中的应用程序 ID 。

完成此操作后,您的机器人将成为整个团队的一部分,并且可以从任何频道访问。因此,在将机器人安装到团队后,您不需要将其本身添加到频道(您可以看到这一点,因为从“频道”中删除机器人的唯一方法是从应用程序中删除它整个团队的标签)。在这方面,它有点像用户——将用户添加到团队可以让他们访问所有频道。但是,如果您的应用也包含选项卡,则该选项卡可以自动添加到单个频道 - 请参阅将选项卡添加到频道


推荐阅读