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
端点没有区别。
我需要获取所有用户的聊天记录(甚至是私人聊天记录),因为管理员已经同意了。
我如何使用 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
端点没有区别。