Microsoft Teams,使用 MS Graph API 获取所有聊天消息

Microsoft Teams, Fetch ALL chat messages with MS Graph API

我需要获取所有用户的聊天记录(甚至是私人聊天记录),因为管理员已经同意了。

我如何使用 Graph API 来做到这一点?

我们对委派权限和应用程序权限有些混淆 (https://docs.microsoft.com/en-us/graph/api/chat-list?view=graph-rest-beta&tabs=http)

我正在调用 /users/< user-id >/chats 以获得与我不同的 user-id(我是管理员),但它返回调用是 未经授权

管理员能否通过适当设置其组织范围的策略来获得委派权限?

根据我的测试,只能调用/me端点获取登录用户的聊天消息,不能调用/users端点获取登录用户的聊天消息其他用户。

/users端点通常没有用户交互,即没有用户登录。此端点需要应用程序权限,然后使用基于守护进程的client credential flow 获取访问令牌。但是api文档明明说不支持application permissions,但是又列出了/users端点,这是矛盾的,所以我认为这是一个bug。

当然你也可以使用/users/< user-id >/chats获取聊天信息,但是只能使用登录用户的id,不能使用其他用户的id。但这没有意义,因为这与调用 /me 端点没有区别。