botframework - 在 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 元素的下方。
解决方案
注意:根据您添加到清单中的数据,您似乎正在尝试创建一个团队机器人,所以我已经这样回答了。如果不是这种情况,请告诉我,我将编辑我的答案。
看起来您正在编辑错误的清单。在 Azure 门户中找到的清单(包括您链接到的清单)是 Azure 资源的部署清单。在这种情况下,它是您的应用注册的部署清单。
您需要做的是为您的 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": {
}
}
之后,您需要创建上传包。如您所见,它包括:
- 我们在上面创建的 manifest.json
- 一个 192x192 的彩色图标
- 一个白色透明的 32x32 图标
然后,您将所有这些压缩并上传您的机器人/应用程序
推荐阅读
- python - 我如何在python中切片一个系列?
- javascript - 用于匹配双引号中的字符串的正则表达式,例如 "name":"some_name"
- node.js - 在本地执行 lambda 函数时无法获取 NodeJS 路由获取页面未找到响应
- kubernetes - 无法通过公共 IP 访问 AKS 中的 .NetCore 应用
- tensorflow - 如何取一层中所有通道的平均值
- json - 如何在xml文件的标头中定义json的类型
- ruby-on-rails - Webapp 和 Wordpress 都可以从 root 访问
- ios - 如何在 iOS Swift 中将 UIButton 动作从视图控制器调用到另一个视图控制器?
- html - 导航按钮不在徽标一侧
- angular - Angular:9 如何从另一个兄弟组件更改变量?