You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Microsoft Teams iOS端消息扩展选中查询结果项未触发invoke调用

问题根因

这是Microsoft Teams iOS原生客户端对消息扩展(Compose Extension)搜索结果卡片交互逻辑的已知实现差异,触发条件如下:

  • iOS端Teams搜索结果渲染层不读取卡片content节点内部定义的整项选中tap动作:当前实现将invoke类型的tap配置写在thumbnail卡片的content根节点下,Web、Mac桌面端、Android端的渲染逻辑会向上冒泡识别该tap为结果选中动作,但iOS端会完全忽略该配置,直接执行「选中即插入卡片到消息输入框」的默认逻辑,不会发起invoke请求。
  • 缺少搜索结果选中事件的标准标识:自定义tap动作未携带微软官方规定的composeExtension/selectItem动作名,iOS端对无标准标识的交互动作会直接拦截,降级为默认插入行为。
修复方案

按照Microsoft Teams消息扩展的官方Schema规范调整返回结构即可实现全端兼容,调整点如下:

  • 将原本放在content节点内的tap配置,移动到attachment对象的根层级,与contentType、content字段平级
  • 给tap配置增加标准name字段,固定值为composeExtension/selectItem,该值为全端通用的搜索结果选中触发事件标识,原有value字段内的自定义业务参数可完全保留,无需修改后端业务处理逻辑。

修正后的响应结构示例:

{
    "composeExtension": {
        "type": "result",
        "attachmentLayout": "list",
        "attachments": [
            {
                "contentType": "application/vnd.microsoft.card.thumbnail",
                "tap": {
                    "type": "invoke",
                    "name": "composeExtension/selectItem",
                    "value": {
                        "type": "IDEA_SELECT_CALLBACK",
                        "selectedItemId": 7082
                    }
                },
                "content": {
                    "images": [
                        {
                            "url": "https://localhost:8080/Public/img3-a68ff7.jpeg"
                        }
                    ],
                    "subtitle": "Thumbnail card subtitle",
                    "text": "Thumbnail card text",
                    "title": "Title"
                }
            }
        ]
    }
}

注意:卡片内部元素(按钮、图片、文本块)的独立tap交互,仍可正常配置在content节点内,不受该规则影响;仅搜索结果列表的「整项选中触发invoke」动作,必须配置在attachment根层级并携带标准name字段,才能被iOS端正确识别。

内容的提问来源于stack exchange,提问作者Rony Emrul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 14:27:17