Identity of participants in participant_audio_files from /meetings/{meetingId}/recordings

How does one match the identity of each of the participant_audio_files from /meetings/{meetingId}/recordings to the identity of the participants in /past_meetings/{meetingId}/participants?

There is no id that correlates, the file_name on the audio file is not predictable, and the start and end times of the audio files can’t be matched to the participants join and leave times. Plus, the order of the two arrays isn’t consistent.

What am I missing?

1 Like

Hi @brett.apex , thank you for bringing this question to the platform. This is a great point as the recording id does not equal participant id. I’m going to do some digging internally on this.

Talk soon!

1 Like

Thanks @gianni.zoom .

My hunch is that the API does not have a way to explicitly map these two arrays, but it would go a long way if the two arrays were in a consistent order.

@gianni.zoom Any update here?

@brett.apex not yet at this time. Thanks for your patience.

When using the Zoom API to retrieve meeting recordings, the audio files for each participant are named based on the participant’s user ID. Therefore, you can match the identity of each participant_audio_file to the identity of the participants in /past_meetings/{meetingId}/participants by comparing the user ID of each participant to the file name of each audio file.

You can retrieve the user ID of each participant in the meeting by making a GET request to the /past_meetings/{meetingId}/participants endpoint. The response will include an array of Participant objects, each of which includes a user_id field.

For example, if you have a participant with user_id “abc123”, their audio file would be named “abc123_audio_only.m4a”. By matching the user_id field of the Participant object with the file name of the corresponding audio file, you can determine which audio file belongs to which participant.

Note that the order of the two arrays may not be consistent, as you mentioned. To ensure that you are correctly matching each participant with their corresponding audio file, you may need to perform additional checks, such as comparing the start and end times of the audio files to the join and leave times of the participants.

Rachel Gomez

@rachelgomez161999 , thanks but I don’t think that works for cloud recordings. The file_name field for cloud participant_audio_files show up as either “Audio only - Susan” (where Susan is a logged in user) or a generic and repeated “Audio only - phone users” (where the participant(s) dialed in). In my use case it is useful to know that dial in number of the participant, in that I can ascertain the participant’s identity based off of that. However, if there are multiple phone participants, or if the names overlap, I still can’t map the two arrays precisely.

Further, all cloud participant_audio_files are normalized to have identical start and end times, so that technique doesn’t work.