如何在Teams应用Manifest中传递标识以关联组织安装信息?
可行方案:为Teams Bot添加组织关联标识
完全可以实现为不同组织的Bot安装包嵌入自定义关联ID,以下是两种实用方法:
方法1:利用Manifest中的configurableTabs字段(推荐)
在Teams应用Manifest的configurableTabs节点下,将组织关联ID作为查询参数拼接进configurationUrl,示例如下:
"configurableTabs": [ { "configurationUrl": "https://你的后端地址/config?orgId=自定义组织标识", "canUpdateConfiguration": true, "scopes": ["team"] } ]
当用户将Bot添加到团队时,Teams会跳转至该配置页面,你的后端可直接捕获orgId参数,同时结合请求中的tenantId、teamId完成关联绑定。用户完成配置后,Bot即可正常加入团队,后端也能对应上该组织的专属标识。
方法2:嵌入Manifest的描述类字段(简易临时方案)
若无需配置自定义页面,可将组织关联ID嵌入到Manifest的description或notes字段中,示例:
"description": { "short": "团队协作Bot [orgId=XXX123]", "full": "用于团队协作的智能Bot,关联组织ID:XXX123" }
Bot安装完成后,后端可通过Microsoft Graph API调用GET /teams/{team-id}/installedApps/{app-install-id}获取应用Manifest信息,从中提取预先嵌入的orgId参数完成关联。
避坑提示
- 不要使用
validDomains字段传递自定义标识,该字段仅用于定义Teams允许加载的外部域名白名单,与安装时的标识传递无关,这也是你之前尝试失败的原因。 - 需确保为每个组织单独生成对应Manifest包,保证自定义标识与组织一一对应。
内容的提问来源于stack exchange,提问作者Stav Pistiner
相关产品推荐
相关产品推荐

