API Endpoint(s) and/or Zoom API Event(s)
webhooks: phone.recording_completed
Description
Hi, we are developing our zoom app requires user’s zoom phone recording file.
We’ve followed documents of zoom phone and everything work fine except recording downloading.
Currently it’ll always response as
{"code":404,"message":"File does not exist."}
Gone through exist posts related to this error here I know this may because of permission but could you provide more information about the permission setting?
What I’ve confirmed:
- access token not expired
- recording could be downloaded in admin console
- confirm the account setting to allow user access their own recording is checked
- have right scope in our zoom app
Error?
* Trying 170.114.52.2:443...
* Connected to zoom.us (170.114.52.2) port 443
* ALPN: curl offers h2,http/1.1
* (304) (OUT), TLS handshake, Client hello (1):
* CAfile: /etc/ssl/cert.pem
* CApath: none
* (304) (IN), TLS handshake, Server hello (2):
* (304) (IN), TLS handshake, Unknown (8):
* (304) (IN), TLS handshake, Certificate (11):
* (304) (IN), TLS handshake, CERT verify (15):
* (304) (IN), TLS handshake, Finished (20):
* (304) (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / AEAD-CHACHA20-POLY1305-SHA256
* ALPN: server accepted h2
* Server certificate:
* subject: C=US; ST=California; L=San Jose; O=Zoom Video Communications, Inc.; CN=*.zoom.us
* start date: Mar 28 00:00:00 2024 GMT
* expire date: Apr 5 23:59:59 2025 GMT
* subjectAltName: host "zoom.us" matched cert's "zoom.us"
* issuer: C=US; O=DigiCert Inc; CN=DigiCert Global G2 TLS RSA SHA256 2020 CA1
* SSL certificate verify ok.
* using HTTP/2
* [HTTP/2] [1] OPENED stream for https://zoom.us/v2/phone/recording/download/ZZcNugnY...f58yO5wAg
* [HTTP/2] [1] [:method: GET]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: zoom.us]
* [HTTP/2] [1] [:path: /v2/phone/recording/download/ZZcNugn...O5wAg]
* [HTTP/2] [1] [user-agent: curl/8.4.0]
* [HTTP/2] [1] [accept: */*]
* [HTTP/2] [1] [authorization: Bearer eyJzdiI6IjAwMDAwMS...fQwCjHIL_chATKVfw]
> GET /v2/phone/recording/download/ZZcNu...yO5wAg HTTP/2
> Host: zoom.us
> User-Agent: curl/8.4.0
> Accept: */*
> Authorization: Bearer eyJzdiI6IjAwMDA...aOr3ifQwCjHIL_chATKVfw
>
< HTTP/2 400
< date: Thu, 15 Aug 2024 05:41:30 GMT
< content-type: application/json
< content-length: 45
< x-zm-trackingid: WEB_0b0a86dd97b42160bcec2a6824388646
< x-zm-region: VA2
< vary: Origin
< vary: Access-Control-Request-Method
< vary: Access-Control-Request-Headers
< x-frame-options: deny
< x-ratelimit-category: Light
< strict-transport-security: max-age=31536000; includeSubDomains
< strict-transport-security: max-age=31536000; includeSubDomains
< cf-cache-status: DYNAMIC
< set-cookie: __cf_bm=WBvp5f_2WyLdPV0f7s9AOEZWmt9209V41R4MLE4uO30-1723700490-1.0.1.1-JZOgYPnMuAScw5TbWwD8xvgRf5XfjdZ2c0Vufvja4cjBT9USvjqXVqgAauSOvffmUmVJgCR0PNVlfDF2hJ24bw; path=/; expires=Thu, 15-Aug-24 06:11:30 GMT; domain=.zoom.us; HttpOnly; Secure; SameSite=None
< report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=50rTjv%2BUkEGs11q2EKYiPXYEG%2FDqXXvec4r%2BnVGNiCeTc7sW0wgPN%2F5g3ZBoIjMit92qctT68g8HlB6jNaJ2dbGtbxKwr7SXyMHExuAvhIaNbVpbNyrslrM%3D"}],"group":"cf-nel","max_age":604800}
< nel: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}
< server: cloudflare
< cf-ray: 8b36db1ff807dfdd-NRT
< alt-svc: h3=":443"; ma=86400
<
* Connection #1 to host zoom.us left intact
{"code":404,"message":"File does not exist."}
How To Reproduce
- make a phone call
- received webhooks as phone.recording_completed
- confirm there is download_url
- request download_url with Bearer token header as accessToken provided by OAuth
- error happens