Microsoft Teams中SharePoint列表通话深度链接异常问题咨询
问题分析
这不是操作错误,属于Teams与SharePoint集成场景下的链接处理差异,而非产品BUG。核心原因:
- 你使用的HTTPS格式Teams通话链接,在Power Automate自适应卡片(Teams原生容器)中能被正确解析为通话指令,但在Teams内嵌的SharePoint标签、网页端SharePoint中,Teams的链接拦截机制会误触发桌面端推广弹窗,同时残留无用网页标签。
- 差异本质是:Teams对原生卡片内的链接优先执行通话逻辑,对SharePoint页面内的HTTPS链接则先经过网页跳转拦截校验。
解决方案
方案1:使用Teams原生协议链接(推荐)
将HTTPS前缀替换为msteams://协议,直接唤起Teams客户端的通话弹窗,无需网页中转,彻底解决残留标签和推广弹窗问题。
修改后的条件格式代码:
{ "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json", "elmType": "div", "children": [ { "elmType": "span", "style": { "padding-right": "8px" }, "txtContent": "@currentField" }, { "elmType": "a", "style": { "text-decoration": "none" }, "attributes": { "iconName": "=if(substring(@currentField,0,1) == '+','phone','')", "class": "sp-field-quickActions", "href": { "operator": "+", "operands": [ "msteams://call/0/0?users=4:", "=replace(@currentField,'+','%2B')" ] } } } ] }
优势:
- 网页端点击直接唤起Teams通话确认弹窗,无多余网页标签残留
- Teams客户端内点击直接触发通话流程,不会弹出桌面端推广窗口
- 兼容所有安装了Teams的设备(系统已默认关联
msteams://协议)
方案2:添加target="_blank"属性
在链接标签中添加target="_blank",让链接在新窗口打开,绕过Teams的拦截逻辑。
修改后的代码片段(仅调整a标签部分):
{ "elmType": "a", "style": { "text-decoration": "none" }, "attributes": { "iconName": "=if(substring(@currentField,0,1) == '+','phone','')", "class": "sp-field-quickActions", "target": "_blank", "href": { "operator": "+", "operands": [ "https://teams.microsoft.com/l/call/0/0?users=4:", "=replace(@currentField,'+','%2B')" ] } } }
优势:无需修改链接格式,Teams客户端内点击不会弹出推广窗口;不足:网页端会打开新标签页,唤起Teams后需手动关闭。
验证说明
两种方案均能解决你遇到的问题:
- Teams客户端内点击电话图标,将直接弹出通话确认窗口,不再显示桌面端推广提示
- 网页端点击后,要么无残留标签(方案1),要么仅需关闭一个中转标签(方案2)
内容的提问来源于stack exchange,提问作者Domien
相关产品推荐
相关产品推荐

