首页 > 解决方案 > 在 Microsoft 应用清单中添加“机器人”条目:“找到没有类型名称的值”

问题描述

我正在使用在线应用程序清单编辑器 (portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationMenuBlade/Manifest/appId/...) 将自定义机器人添加到我的应用程序清单中。我将此部分添加到 JSON:

"bots": [
{
  "botId": "[same-string-as-in-field-appId]",
  "scopes": [ "team", "personal", "groupchat" ]
}]

但是,当我尝试保存清单时,我得到:

“无法更新 [...] 应用程序。错误详细信息:找到没有类型名称的值,并且没有预期的类型可用。指定模型时,有效负载中的每个值都必须具有可以在中指定的类型有效载荷,由调用者显式或从父值隐式推断。[k+sF5]"

我认为这是由于架构版本问题,但我不知道如何解决它。或者在哪里添加该部分是否重要?我只是将它添加到所有其他顶级 JSON 元素的下方。

标签: botframework

解决方案


注意:根据您添加到清单中的数据,您似乎正在尝试创建一个团队机器人,所以我已经这样回答了。如果不是这种情况,请告诉我,我将编辑我的答案。

看起来您正在编辑错误的清单。在 Azure 门户中找到的清单(包括您链接到的清单)是 A​​zure 资源的部署清单。在这种情况下,它是您的应用注册的部署清单。

您需要做的是为您的 Teams 机器人构建清单。这是 schema 的链接。这是基于我的一个机器人的示例:

{
  "$schema": "https://developer.microsoft.com/json-schemas/teams/v1.7/MicrosoftTeams.schema.json",
  "manifestVersion": "1.7",
  "version": "1.0.0",
  "id": "<myAppId>",
  "packageName": "com.notification.bot",
  "localizationInfo": {
    "defaultLanguageTag": "en-us",
    "additionalLanguages": [
    ]
  },
  "developer": {
    "name": "My Name",
    "websiteUrl": "https://dev.botframework.com/",
    "privacyUrl": "https://aka.ms/bf-privacy",
    "termsOfUseUrl": "https://aka.ms/bf-terms",
    "mpnId": "<random ID>"
  },
  "name": {
    "short": "Notification Bot",
    "full": "GitHub Issue Notification Bot"
  },
  "description": {
    "short": "GitHub Issue Notification Bot",
    "full": "GitHub Issue Notification Bot"
  },
  "icons": {
    "outline": "outline.png",
    "color": "color.png"
  },
  "accentColor": "#fc4103",
  "configurableTabs": [
  ],
  "staticTabs": [
  ],
  "bots": [
    {
      "botId": "<myAppId>",
      "scopes": [
        "team",
        "personal",
        "groupchat"
      ],
      "needsChannelSelector": false,
      "isNotificationOnly": false,
      "supportsFiles": false,
      "commandLists": [
      ]
    }
  ],
  "connectors": [
  ],
  "composeExtensions": [
  ],
  "permissions": [
    "identity",
    "messageTeamMembers"
  ],
  "devicePermissions": [
  ],
  "validDomains": [
    "token.botframework.com"
  ],
  "showLoadingIndicator": false,
  "activities": {
  }
}

之后,您需要创建上传包。如您所见,它包括:

  1. 我们在上面创建的 manifest.json
  2. 一个 192x192 的彩色图标
  3. 一个白色透明的 32x32 图标

这是我们的一个示例的链接,其中包含所有这三个项目

然后,您将所有这些压缩并上传您的机器人/应用程序


推荐阅读