如何通过Microsoft Graph API获取Teams在线会议与通话的列表及相关ID/URL?
使用Microsoft Graph API获取Teams在线会议与通话列表
一、获取Teams在线会议列表
不用先单独找会议ID或URL,直接调用列表接口就能拿到所有会议的关键信息:
- 获取自己的在线会议
调用GET /me/onlineMeetings,返回结果里每条数据都包含会议ID、加入URL、主题、时间等字段,刚好能满足你后续查询单个会议的需求。 - 获取其他用户的在线会议(需对应权限)
如果你需要查看团队内其他成员的会议,调用GET /users/{userId}/onlineMeetings,但要确保你的应用已经申请到OnlineMeetings.Read.All或OnlineMeetings.ReadWrite.All权限。
返回的会议数据片段示例:
{ "id": "a1b2c3d4-5678-90ef-ghij-klmnopqrstuv", "joinWebUrl": "https://teams.microsoft.com/l/meetup-join/...", "subject": "Q3项目进度同步会", "startDateTime": "2024-05-22T09:30:00Z", "endDateTime": "2024-05-22T10:30:00Z" }
二、获取Teams通话列表
Teams的通话记录需要通过通话记录接口获取,因为通话属于已完成的会话:
- 获取自己的通话记录
调用GET /me/callRecords,返回的每条记录会包含通话ID、对应的会议链接(如果是会议通话)、参与者、时长等信息。 - 获取组织内所有通话记录(需管理员权限)
调用GET /communications/callRecords,需要CallRecords.Read.All权限,适合管理类应用使用。
返回的通话记录片段示例:
{ "id": "wxyz-1234-abcd-5678-efghijklmnop", "joinWebUrl": "https://teams.microsoft.com/l/call/...", "subject": "客户技术问题排查", "startDateTime": "2024-05-21T16:00:00Z", "endDateTime": "2024-05-21T16:45:00Z" }
必要权限说明
- 在线会议:仅查看自己的会议需
OnlineMeetings.Read权限;跨用户查看需OnlineMeetings.Read.All - 通话记录:仅查看自己的通话需
CallRecords.Read权限;全局查看需CallRecords.Read.All
内容的提问来源于stack exchange,提问作者Kate Shutova
相关产品推荐
相关产品推荐

