API Cloud Recording - File format downloaded not compatible with any media player

API Cloud Recording - File format downloads not compatible with any media player

Description
I just developed a new server to server Oauth app to download all my zoom cloud recordings. The app is connecting fine, and it retrieves all the recording list correctly. I’m using the “List All Recordings API”.
The problem is, that when I try to download the files using the download URL I got files, but I cannot open any of them.

I’m sending you the code that I’m using on my local app.

// Step 1: Generate the OAuth access token using the client ID and client secret.

This code works fine.

        // Step 2: Get the list of videos available in Zoom Cloud account.

        $url = 'https://api.zoom.us/v2/users/' . $zoom_user_id . '/recordings';

        $curl = curl_init();
        curl_setopt_array($curl, array(
            CURLOPT_URL => $url,
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_ENCODING => '',
            CURLOPT_MAXREDIRS => 10,
            CURLOPT_TIMEOUT => 0,
            CURLOPT_FOLLOWLOCATION => true,
            CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
            CURLOPT_CUSTOMREQUEST => 'GET',
            CURLOPT_HTTPHEADER => array(
                'Accept: application/json',
                'Authorization: Bearer ' . $access_token,
            ),
        ));

        $result_recordings = curl_exec($curl);
        curl_close($curl);

        // parse the response
        $recordings = json_decode($result_recordings);
        if (!$recordings || !isset($recordings)) {
            // handle error
            die('Error getting recordings');
        } else {
            $this->info('Got the recordings correctly');
        }


// Step 3: Iterate through the list of recordings and get the download URL for each recording.
        foreach ($recordings->meetings as $recording) {
            $meeting_id = $recording->id;
            $recording_files = $recording->recording_files;
            foreach ($recording_files as $files) {
                $download_url = $files->download_url.'?access_token='.$access_token;
                $file_extension = $files->file_type;
                $archivo_id = $files->id;
                $file_path = '{{my_local_path}}' . $archivo_id . '.' . $file_extension;

                $fh = fopen($file_path, 'w');
                $ch = curl_init();
                curl_setopt($ch, CURLOPT_URL, $download_url);
                curl_setopt($ch, CURLOPT_FILE, $fh);
                curl_exec($ch);
                curl_close($ch);
                fclose($fh);

                $this->info('download_url-> ' . $download_url);
            }
        }

I got the files correctly downloaded on my local route, but when I try to open any of then, I got that the format is incompatible with any media player.

Thanks in advance

@videotuto1,

Thanks for posting in the Zoom Developer Forum – I am happy to help here. The file format of the Zoom meeting downloads should be mp4 which is supported by the media player. What is the file extension you are seeing when downloading the meeting recording?

Hello, thanks for answering.

I got three type of file, mp4, m4a and txt, and none of them works.

I found the solution.

This topic can be closed.

Thanks!