上传应用至Teams时manifest中activities节点缺失无法发通知如何解决
问题原因
- manifest版本不匹配:
activities配置节点从manifest v1.13版本才正式加入官方schema,你当前使用的v1.11版本没有对应字段定义,上传应用时平台会直接过滤掉未定义的节点,不会加载相关配置。 - 缺少通知下发必需的Bot配置:Teams的用户活动通知必须依托应用内注册的Bot作为消息下发通道,你当前
bots字段为空数组,没有可用的消息发送主体,即使activities字段被识别也无法完成通知推送。 - 活动类型命名不符合平台规则:自定义
activityTypes的type字段必须携带应用自身ID作为前缀,你当前使用的纯自定义名称taskCreated不符合命名规范,会被判定为无效配置。
修复步骤
- 升级manifest版本
将schema版本和manifest版本统一升级到v1.13及以上(推荐v1.15稳定版,兼容性更好),对应修改配置项:
"$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.15/MicrosoftTeams.schema.json", "manifestVersion": "1.15",
- 补全Bot配置
先为应用注册对应Bot资源,拿到Bot ID后填入bots数组,若应用仅用于推送通知,可标记为仅通知模式减少权限申请,示例配置:
"bots": [ { "botId": "替换为你实际申请到的Bot ID", "scopes": ["personal", "team", "groupChat"], "supportsFiles": false, "isNotificationOnly": true } ]
- 修正活动类型命名
所有自定义活动类型的type值必须遵循{应用ID}:{自定义类型名}的格式,例如你的应用ID为xxxx-xxxx-xxxx,则对应配置修改为:
"activities": { "activityTypes": [ { "type": "xxxx-xxxx-xxxx:taskCreated", "description": "Task created activity", "templateText": "hah created task hehe for you" } ] }
- 重新上传应用
所有配置修改完成后,先通过开发者平台的manifest校验功能检查是否存在配置错误,确认无误后重新上传应用包,等待平台配置同步完成(通常1-5分钟),即可正常识别活动类型并推送用户通知。如果同步后仍不生效,可清除Teams客户端本地缓存后重试,部分客户端会缓存旧版manifest配置。
内容的提问来源于stack exchange,提问作者Seledy
相关产品推荐
相关产品推荐

