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

如何无需全局管理员或用户本人调用MS Graph的指定installedApps接口

解决方案及替代思路

首先明确:目前没有无需用户本人或全局管理员权限,就能获取组织内任意用户Teams已安装应用列表的官方途径,但可以通过以下相对安全的方式实现需求:

1. 低权限管理员角色+应用权限组合

使用TeamworkAppInstallation.Read.All应用权限,同时给公共工作账户分配Teams Administrator或Global Reader角色——这两类角色权限远低于全局管理员,仅聚焦于Teams相关管理或只读全局数据,能有效降低安全风险。

  • 配置后,公共账户可通过/users/{user-id}/teamwork/installedApps接口读取任意用户的已安装应用列表。

2. 用户委托权限+组织范围部署

如果业务允许用户授权,可让第三方应用请求TeamworkAppInstallation.Read委托权限,通过组织范围的应用部署批量获取所有用户的授权(无需用户手动操作)。

  • 授权完成后,应用可读取已授权用户的Teams已安装应用列表,全程无需管理员级权限介入。

3. 批量请求优化效率

若采用用户授权方案,可结合Microsoft Graph的批量请求功能,一次性提交多个用户的installedApps查询,减少接口调用次数,提升处理效率。

关于权限差异的补充说明

你遇到的sendActivityNotification接口正常但installedApps失败的情况,是因为两个接口的权限模型不同:

  • sendActivityNotification仅需要TeamworkNotification.Send应用权限,该权限不涉及用户隐私数据,因此委托资源配置后即可正常调用;
  • installedApps涉及用户的应用使用隐私,微软对其读取权限做了严格限制,仅用户本人或具备对应管理权限的账户可访问,普通委托资源配置无法突破这一限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 12:20:06