If there is a way we can get immediate paid developer support please let me know how and the pricing. Some of the problems we’ve been experiencing the past 2 weeks after a year with no issues could be catastrophic to our business.
Description
We are making API calls to https://zoom.us/oauth/token?grant_type=refresh_token&refresh_token
and occasionally getting read timeouts.
Because this is an essential endpoint needed to keep our access tokens working, when we don’t get response, it completely breaks the application for the client and all their users.
We only make calls to this endpoint from a single thread, so this is not a problem with us receiving an invalid refresh token. We are just not getting a response from Zoom.
I can provide timestamps of when this has happened, as well as the request data and headers.
Error
There is no error, our background process hangs awaiting a response from the zoom api.
Which App Type (OAuth / Chatbot / JWT / Webhook)?
Oauth
Which Endpoint/s?
https://zoom.us/oauth/token?grant_type=refresh_token&refresh_token
How To Reproduce (If applicable)
Steps to reproduce the behavior:
- Send request to https://zoom.us/oauth/token?grant_type=refresh_token&refresh_token
- No response received
Additional context
Here is our code:
HttpRequest postRequest = HttpRequest.newBuilder()
.POST(HttpRequest.BodyPublishers.noBody())
.uri(URI.create("https://zoom.us/oauth/token?grant_type=refresh_token&refresh_token=" + refreshToken))
.header("Accept", "application/json")
.header("Authorization", "Basic " + authHeader)
.build();
LOGGER.info("Retrieving new access token, credentials={}, refreshtoken={}, authheader={}", credentials, refreshToken, authHeader);
HttpClient httpClient = HttpClient
.newBuilder()
.connectTimeout(Duration.ofSeconds(10))
.build();
HttpResponse<String> response = httpClient.send(postRequest, HttpResponse.BodyHandlers.ofString());
LOGGER.info("refreshAccessToken response={}", response.body());
The final logging statement never executes and our process hangs due to no read timeout currently set (since we have a connect timeout we can be certain an initial connection is established but a response is never received).
Since we never receive a response, we aren’t able to persist the new access token / refresh token pair. All subsequent attempts to make any requests with the previous access token or attempts to refresh for a new access token then fail.
I’m able to provide the timestamps, access tokens, and refresh tokens this has happened for. It happens very rarely but having to make the client re-authorize the app during a live conference is very problematic for us. Thanks for your time.