以编程方式将Bot(ms-botbuilder)添加到MS Teams Team / Channel

时间:2020-01-18 01:59:20

标签: botframework microsoft-graph-api microsoft-teams microsoft-graph-sdks microsoft-graph-teams

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

  1. 该机器人能够通过MS Graph创建组 JS-SDK
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并将其添加到组中?

1 个答案:

答案 0 :(得分:1)

因此请记住,Bot不是普通用户,而是App。结果,要将其添加到团队中,您将对图形使用Add app to team操作。为此,您需要使用List the published apps from the Microsoft Teams app catalog中的应用ID。

执行此操作后,您的机器人将成为整个团队的一部分,并且可以从任何渠道进行访问。因此,将机器人安装到团队后,您也无需将其本身添加到渠道中(您可以看到此信息,因为从“渠道”中删除机器人的唯一方法是将其从应用程序中删除整个团队的标签)。在这方面有点像用户-将用户添加到团队后,他们就可以访问所有渠道。但是,如果您的应用同时还包含标签,则该标签可以自动添加到单个频道-请参见add tab to channel