did you find the solution ? I am not getting any response from zoom team and there is no way to implement this. Please someone provide solution for this.
Did this work for you. I am having the same problem. Download_url returns a html response and not the recording (using Node.js, JWT)
No it is not resolve,so I’m using webhook to fix that problem
Can you please share the code you are using to download the file?
Please share steps to reproduce the issue.
This is my code.
$destination = $dir . "/movie.mp4"; $authorization = 'Authorization: Bearer ' . $token; $url = $url . '?access_token=' . $token; $fp = fopen($destination, "w"); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json' , $authorization)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); curl_setopt($ch, CURLOPT_FORBID_REUSE, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_AUTOREFERER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_FILE, $fp); curl_exec($ch); fclose($fp);
url and token is download_url and download_token in Recording Completed
I have same issue.
Can anybody help me?
Can you try just using the ?access_token=token query param and not the Authorization Bearer?
That should fix the issue.
Thanks for reply, @tommy
I changed my code
$destination = $dir . "/movie.mp4"; //$authorization = 'Authorization: Bearer ' . $token; $url = $url . '?access_token=' . $token; $fp = fopen($destination, "w"); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); //curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json' , $authorization)); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_FILE, $fp);
Then the result is
But cURL command works, postman works too. ( download_url?access_token=somelongtoken )
(This is weird)
Temporary I use Get Meeting Recordings API, this API return download_url too,
But It doesn’t need any token to download.
Can you try allowing redirects in your request to download the file:
Does it have the token included?
not OP but this fixed my 401 / getting HTML response. thanks!
Thanks for sharing @mokutsu!
For clarify the correct curl command that worked for me is
curl -L -X GET <download_url_from_meeting_api>?access_token=<jwt_token>
The docs are confusing on this one as <download_path> is no where to be found
I have the same issue I am able to download using a browser when I am logged in the Download url plus the JWT token as a query parameter works.
But when I do the same using my php code using curl it gives password required page in return.
@tommy. I see that there are multiple questions on this.
I am guessing you may have something that worked end to end. So please post full code and steps that you guys have tested and work
- Download the file using curl in PHP not command line shell
- Get the actual file name instead of specifying one.
I have code for all this but I can not get past the password required using PHP curl.
Any help will be greatly appreciated.
Thanks for sharing and your feedback. We will use it to improve our docs.
Make sure of, add the JWT Token as a query param and not as a request header:
I see I have replied to a few of your posts already in this thread, let’s continue this discussion there:
Let me know if that helps!
you are trying to open the destinarion with write permission, please try with “r” instead of “w” like this:
$fp = fopen($destination, "r");
Thanks for sharing that tip @Emanuel_Aguirre!
Hi @tommy when I am trying to download the recording the I get the 301 error ( MOVED PERMANENTLY ).
I am trying to download it via ruby code
please find the code snippeduri= URI(url)
http = proxy.start(uri.host, :use_ssl => false , :verify_mode=>OpenSSL::SSL::VERIFY_NONE)
req = Net::HTTP::Get.new(uri,initheader = header)
response = http.request(req)
when I inspect this response it gives 301 error please suggest how to resolve it
Typically, a 300/301 error on recording downloads means the recording was deleted or no longer exists. Can you share the recording ID or the Meeting ID so I can take a closer look? If you happen to have a screenshot of the recording reflected in the UI as well, this would be helpful.