Get callRecording
Namespace: microsoft.graph
Get a callRecording object associated with a scheduled onlineMeeting. This API doesn't support getting call recordings from channel meetings.
For a recording, this API returns the metadata of the single recording associated with the online meeting. For the content of a recording, this API returns the stream of bytes associated with the recording.
Note
- This is a metered API. For more information, see payment models for meeting APIs.
- This API works differently in one or more national clouds. For details, see Microsoft Teams API implementation differences in national clouds.
Permissions
One of the following permissions is required to call this API. For more information, including how to choose permissions, see permissions.
Permission type | Permissions (from least to most privileged) |
---|---|
Delegated (work or school account) | OnlineMeetingRecording.Read.All |
Delegated (personal Microsoft account) | Not supported. |
Application | OnlineMeetingRecording.Read.All, OnlineMeetingRecording.Read.Chat |
Notes:
- In delegated permission scenarios, get callRecording content is supported only for the meeting organizer. Meeting participants don't have permission to download meeting recordings. For more information, see permissions or role-based access. Tenant adminstrators can unblock meeting participants to download meeting recording. For more information, see block the download of Teams meeting recording files.
- The application permission
OnlineMeetingRecording.Read.Chat
uses resource-specific consent.
To use application permissions for this API, tenant administrators must create an application access policy and grant it to a user. This authorizes the app configured in the policy to fetch online meetings or online meeting artifacts on behalf of that user (with the user ID specified in the request path). For more information, see allow applications to access online meetings on behalf of a user.
Note
This API works only for a meeting that hasn't expired. For more information, see Limits and specifications for Microsoft Teams.
HTTP request
Get a single recording of an online meeting.
GET /me/onlineMeetings/{meetingId}/recordings/{recordingId}
GET /users/{userId}/onlineMeetings/{meetingId}/recordings/{recordingId}
Get the content of a single recording of an online meeting.
GET /me/onlineMeetings/{meetingId}/recordings/{recordingId}/content
GET /users/{userId}/onlineMeetings/{meetingId}/recordings/{recordingId}/content
Optional query parameters
This method doesn't support the OData query parameters to customize the response.
Request headers
Header | Value |
---|---|
Authorization | Bearer {token}. Required. |
Request body
Don't supply a request body for this method.
Response
If successful, this method returns a 200 OK
response code and a callRecording object in the response body.
Examples
Example 1: Get a callRecording
The following example shows how to get a single recording of an online meeting.
Request
The following example shows a request.
GET https://graph.microsoft.com/v1.0/users/b935e675-5e67-48b9-8d45-249d5f88e964/onlineMeetings/MSpiOTM1ZTY3NS01ZTY3LTQ4YjktOGQ0NS0yNDlkNWY4OGU5NjQqMCoqMTk6bWVldGluZ19ZbU0zTnpJNU9USXRZakU0WlMwME1tUTNMVGt6TVRRdFkyWm1PRGRtWmpsaVptRTNAdGhyZWFkLnYy/recordings/7e31db25-bc6e-4fd8-96c7-e01264e9b6fc
Response
The following example shows the response.
Note: The response object shown here might be shortened for readability.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('b935e675-5e67-48b9-8d45-249d5f88e964')/onlineMeetings('MSpiOTM1ZTY3NS01ZTY3LTQ4YjktOGQ0NS0yNDlkNWY4OGU5NjQqMCoqMTk6bWVldGluZ19ZbU0zTnpJNU9USXRZakU0WlMwME1tUTNMVGt6TVRRdFkyWm1PRGRtWmpsaVptRTNAdGhyZWFkLnYy')/recordings/$entity",
"id": "7e31db25-bc6e-4fd8-96c7-e01264e9b6fc",
"meetingId": "MSpiOTM1ZTY3NS01ZTY3LTQ4YjktOGQ0NS0yNDlkNWY4OGU5NjQqMCoqMTk6bWVldGluZ19ZbU0zTnpJNU9USXRZakU0WlMwME1tUTNMVGt6TVRRdFkyWm1PRGRtWmpsaVptRTNAdGhyZWFkLnYy",
"createdDateTime": "2023-04-10T08:13:17.5990966Z",
"recordingContentUrl": "https://graph.microsoft.com/v1.0/$metadata#users('b935e675-5e67-48b9-8d45-249d5f88e964')/onlineMeetings('MSpiOTM1ZTY3NS01ZTY3LTQ4YjktOGQ0NS0yNDlkNWY4OGU5NjQqMCoqMTk6bWVldGluZ19ZbU0zTnpJNU9USXRZakU0WlMwME1tUTNMVGt6TVRRdFkyWm1PRGRtWmpsaVptRTNAdGhyZWFkLnYy')/recordings/('7e31db25-bc6e-4fd8-96c7-e01264e9b6fc')/content",
"meetingOrganizer": {
"application": null,
"device": null,
"user": {
"@odata.type": "#Microsoft.Teams.GraphSvc.teamworkUserIdentity",
"id": "b935e675-5e67-48b9-8d45-249d5f88e964",
"displayName": null,
"userIdentityType": "aadUser",
"tenantId": "d6c9ce1e-4f71-8dc3-5b55-6a411ea46324"
}
}
}
Example 2: Get callRecording content
The following example shows how to get the content of a single recording of an online meeting.
Request
The following example shows a request.
GET https://graph.microsoft.com/v1.0/users/b935e675-5e67-48b9-8d45-249d5f88e964/onlineMeetings/MSpiOTM1ZTY3NS01ZTY3LTQ4YjktOGQ0NS0yNDlkNWY4OGU5NjQqMCoqMTk6bWVldGluZ19ZbU0zTnpJNU9USXRZakU0WlMwME1tUTNMVGt6TVRRdFkyWm1PRGRtWmpsaVptRTNAdGhyZWFkLnYy/recordings/7e31db25-bc6e-4fd8-96c7-e01264e9b6fc/content
Response
The following example contains bytes for the recording in the response body. The content-type
header specifies the type of the recording content. The negative offsets indicate that the recording began during an ongoing conversation.
Note: The response object shown here might be shortened for readability.
HTTP/1.1 200 OK
Content-Type: video/mp4
<bytes of a recording>
Feedback
Submit and view feedback for