【问题标题】:Can't add Teams bot to a channel无法将 Teams 机器人添加到频道
【发布时间】:2021-02-05 15:34:30
【问题描述】:

这最初是 Microsoft 的支持票。然而,他们告诉他们不付费就不会提供开发支持。他们将我引导到 Stack Overflow,所以这里什么都没有。

我正在为 Microsoft Teams 开发一个机器人。我已经在 Azure Active Directory 和 Bot Framework 中注册了我的机器人。我已将我的应用程序上传到 Team,没有任何错误。我的机器人目前能够向 Teams 用户发送直接消息。但是,当我尝试将我的机器人添加到 Teams 频道时,我收到了无用的错误。

我在“应用”选项卡中单击我的应用下的下拉菜单:

我点击“添加到团队”,然后选择一个频道:

单击“设置机器人”按钮后,我收到以下错误消息:

我已经多次检查并重新检查了我的 webApplicationInfo.id 和 webApplicationInfo.applicationPermissions,但我对可能出现的问题感到茫然。我看不出这些字段中的任何一个是如何出错的,我可以使用这些值对 Microsoft Graph 和 Bot Framework apis 进行身份验证。以下是我的 Teams 应用清单的略微编辑版本:

{
  "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.8/MicrosoftTeams.schema.json",
  "manifestVersion": "1.8",
  "version": "1.0.15",
  "id": "<TEAMS_APP_ID>",
  "packageName": "ambition",
  "developer": {
    "name": "Ambition",
    "websiteUrl": "https://ambition.com",
    "privacyUrl": "https://ambition.com/privacy",
    "termsOfUseUrl": "https://ambition.com/pages/terms"
  },
  "icons": {
    "color": "logo_opaque_192x192.png",
    "outline": "logo_transparent_32x32.png"
  },
  "name": {
    "short": "Ambition",
    "full": ""
  },
  "description": {
    "short": "Motivate & Recognize",
    "full": "Ask Marketing"
  },
  "accentColor": "#FFFFFF",
  "permissions": [
    "identity",
    "messageTeamMembers"
  ],
  "validDomains": [
    "ambition.com"
  ],
  "bots": [
    {
      "botId": "<AZURE_ACTIVE_DIRECTORY_CLIENT_ID>",
      "scopes": [
        "team",
        "personal",
        "groupchat"
      ],
      "isNotificationOnly": true
    }
  ],
  "webApplicationInfo": {
    "id": "<AZURE_ACTIVE_DIRECTORY_CLIENT_ID>",
    "resource": "https://ambition.com",
    "applicationPermissions": [
      "Channel.ReadBasic.All",
      "ChannelMessage.Send",
      "Group.Read.All",
      "Notifications.ReadWrite.CreatedByApp",
      "Team.ReadBasic.All",
      "User.Read",
      "User.ReadBasic.All"
    ]
  }
}

【问题讨论】:

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


    【解决方案1】:

    webApplicationInfo 部分实际上只用于两件事:Tab SSO 和 Resource-Specific Consent。您是否尝试实施其中之一?如果没有,删除它绝对是最好的选择,正如您在回答中所指出的那样。

    此外,我看到您在其中放入的资源值是 Microsoft Graph Scopes,而 applicationPermissions 部分需要不同的选项列表(它们看起来有点相似,但他们不是一回事)。更多信息请看这里:https://docs.microsoft.com/en-gb/microsoftteams/platform/graph-api/rsc/resource-specific-consent#resource-specific-permissions

    【讨论】:

      【解决方案2】:

      真的不知道为什么会这样,但我将我的应用清单与通过本教程生成的清单进行了比较:https://docs.microsoft.com/en-us/microsoftteams/platform/build-your-first-app/build-bot

      从我的清单中删除 webApplicationInfo 属性解决了这个问题。不明白为什么它首先会导致问题。

      https://docs.microsoft.com/en-us/microsoftteams/platform/resources/schema/manifest-schema#webapplicationinfo

      【讨论】:

        猜你喜欢
        • 2019-01-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-08
        • 2022-01-15
        • 1970-01-01
        相关资源
        最近更新 更多