跨租户Teams通知发送及Azure Bot Service跨域通信技术咨询
跨租户Teams通知与Azure Bot通信解决方案
针对你提出的两个问题,我整理了具体的实现方案:
1. 是否可以用Company Communicator向其他租户用户发通知?
当然可以,但默认的Company Communicator是单租户配置,得做一些调整才能跨租户工作:
- 它默认依赖当前租户的Azure AD权限,只能访问本租户用户;
- 你需要把应用改成多租户模式,获取跨租户的Graph API权限,还要让目标租户的管理员同意这些权限,之后就能给对方租户的用户发通知了。
2. 已部署单租户Company Communicator,如何向另一个租户发单向通知?
结合你已经完成单租户部署的情况,按以下步骤调整:
第一步:把应用注册改成多租户
- 登录Azure门户,找到Company Communicator对应的Azure AD应用注册;
- 在「概述」里的“支持的账户类型”,选「任何组织目录中的账户(任何Azure AD目录 - 多租户)」,保存更改;
- 确认重定向URI等配置适配多租户场景。
第二步:配置跨租户的Graph API权限
- 进入应用注册的「API权限」页面,替换原有的单租户权限,添加Application类型的
User.Read.All权限(这个权限允许应用跨租户读取用户信息); - 生成管理员同意链接,发给目标租户的管理员,让他们完成权限授权——只有对方租户同意后,你的应用才能读取那边的用户数据。
第三步:更新Azure Bot Service的多租户设置
- 打开你的Azure Bot Service资源,在「设置」>「配置」里,确保消息端点能被跨租户访问;
- 在「渠道」>「Microsoft Teams」中,确认Bot关联的是多租户应用注册,并且开启了多租户支持。
第四步:获取目标租户用户并发送通知
- 用Graph API的全局端点(
https://graph.microsoft.com/v1.0),指定目标租户ID查询用户,比如调用GET /users并带上租户相关的过滤条件; - 在Company Communicator的通知发送界面,输入目标租户用户的UPN或用户ID,就能发送单向通知了——只要对方租户管理员同意了权限,用户不需要手动安装应用就能收到通知。
内容的提问来源于stack exchange,提问作者Nanda
相关产品推荐
相关产品推荐

