Get online meetings transcripts using graph api

Vadim Gavrilov 0 Reputation points
2024-09-05T13:53:31.5733333+00:00

Hello,

I've search for couple of days, but with no hope.

I'm using Graph api beta to establish a teams online meeting because there's an option to turn on "recordAutomatically" and it works great. The problem it getting the transcript.

If I create a meeting using "create onlineMeeting API", I can't get the transcript because there's no support for "Get callTranscript" or even "List transcripts", while the doc is placed under "Online Meeting" which is weird..

To get the transcript I need to create an event and make it onlineMeeting, but I can't make the onlineMeeting to "recordAutomatically"..

Can I update this meeting somehow and make it record automatically?

Can someone help me understand better how can I get meeting transcripts?

I just want to create an online meeting, make it auto record and get it's transcript.

Thanks

Microsoft Graph
Microsoft Graph
A Microsoft programmability model that exposes REST APIs and client libraries to access data on Microsoft 365 services.
11,834 questions
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. Aleksandr Kolesnikov 486 Reputation points
    2024-09-05T22:40:01.51+00:00

    Hi @Vadim Gavrilov

    You need to configure Auto-Recording in Teams Admin Center:

    1. Go to the Microsoft Teams Admin Center.
    2. Navigate to Meetings > Meeting policies.
    3. Edit an existing policy or create a new one.
    4. Set the Allow cloud recording option to On.
    5. Set the Record automatically option to On.
    6. Assign this policy to the users who need auto-recording.

    This policy will automatically start recording when a meeting begins for users assigned to it.

    Create an Online Meeting using Microsoft Graph API

    You can create an online meeting using the Microsoft Graph API in PowerShell.

    Connect-MgGraph -Scopes "OnlineMeetings.ReadWrite"
    # Define the parameters for the meeting
    $startTime = (Get-Date).ToUniversalTime().AddMinutes(15)  # Meeting starts in 15 minutes
    $endTime = $startTime.AddHours(1)  # 1 hour duration
    # Create the online meeting
    $meeting = New-MgUserOnlineMeeting -UserId 'user@akdotms.cloud' -Subject "Auto-Recorded Meeting" -StartDateTime $startTime -EndDateTime $endTime -IsRecordingEnabled $true
    # Output the meeting details
    $meeting
    

    Once the meeting is complete, the recording will be stored in OneDrive or SharePoint, and the transcript will be accessible via Microsoft Graph.

    https://video2.skills-academy.com/en-us/powershell/module/microsoft.graph.cloudcommunications/get-mguseronlinemeeting?view=graph-powershell-1.0#example-1-retrieve-an-online-meeting-by-meeting-id

    # Get meeting details using the meeting ID
    $meetingId = $meeting.Id
    $meetingDetails = Get-MgUserOnlineMeeting -UserId 'user@akdotms.cloud' -OnlineMeetingId $meetingId
    # Output meeting details including recording URL
    $meetingDetails.recording
    

    Best regards,

    Aleksandr


    If the response is helpful, please click "Accept Answer" and upvote it.

    0 comments No comments

  2. Yakun Huang-MSFT 4,160 Reputation points Microsoft Vendor
    2024-09-06T06:30:19.39+00:00

    Hi @Vadim Gavrilov

    According to the documentation, you can make changes to the recordAutomatically attribute by Updating onlineMeeting endpoint, and this has been tested to be effective, with the following test results:

    User's image

    By the way, references in the documentation are not valid for ongoing meetings.

    User's image

    Hope this helps.

    If the reply is helpful, please click Accept Answer and kindly upvote it. If you have additional questions about this answer, please click Comment.


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.