Dashboard Meetings API - Next Page Token in Invalid or Expired

Using this template helps us debug your issues more effectively :slight_smile:

Description
I was loading the meetings and then gathering the participant for each meeting one at a time. Running into the 400 error.

And I totally disagree with below ticket.

Because, I have seen List of Meetings (without participants) ran for more than 9 hours (without 400 Bad Request). Means, the time difference between initial request and final request is 9 hours and 30 minutes.

Error

“code”:400,“message”:“400 Bad Request”,“body”:"{“code”:300,“message”:“The next page token is invalid or expired.”}"

“x_ratelimit_category”:“Resource-intensive”,
“x_ratelimit_limit”:“60000”,
“x_ratelimit_remaining”:“14554”}}

Which App Type (OAuth / Chatbot / JWT / Webhook)?
OAuth

Which Endpoint/s?
/metrics/meetings/
/metrics/meetings/{meeting_id}/participants

How To Reproduce (If applicable)
Steps to reproduce the behavior:

  1. Request URL / Headers (without credentials) / Body
  2. See error

Screenshots (If applicable)

.

Additional context
The same request (from and to) works some time and does not some time. it is intermittent.

Hi, @jaganagaj,

Thank you for using the Zoom Developer Forum. Are you able to share an example where the time difference between initial request and final request exceeds the next_page_token expiration period ?

This information will help to diagnose what may be happening.

Best,
Donte

Hi Donte,
I am afraid, that you misunderstood my words.
In one of your previous Zoom Dev Forum ticket (copied link), it was said that if pagination request is issued after 15 minutes from your first request, this issue will happen.
For this, I have clarified, I have seen time difference between first request and last request was almost 9.5 hours and still it worked fine for me. For same from and to, it works one time (time taken 43 minutes) , fails one time.

Here is my example.
m_next_page_token= null;
do
{
res = List meetings (limit: 300, next_page_token: {m_next_page_token});
m_next_page_token = res.next_page_token;
For each meeting
{
mp_next_page_token = null;
do
{
mp_res = Get List Participants (meeting_id: {meeting_id} , limit: 300, next_page_token: {mp_next_page_token});
mp_next_page_token = mp_res.next_page_token;
}while(!mp_next_page_token);
}
}while(!m_next_page_token);

Hi @jaganagaj,

Can you share the exact request URL you used, including the params and their values? Please confirm the approximate timestamp of the request as well—we can take a closer look and check our logs for more details.

Thanks,
Will

Datetime - 07/22/2021 12:13 pm SGT
Request URL - https://api.zoom.us/v2/metrics/meetings
type: past, from: 2021-06-30, to: 2021-07-21, page_size: 300, next_page_token: f5XOV0f1LXwMu3I7Up3gLKhRSkti7u91nm165

The above request is the 189th page request out of 449. The time difference between the first request and failed request is 7 minutes.

Datetime- 07/15/2021 09:06 am SGT

Request URL -
“next_page_token”: “085QfvXLypMfcvqlIfz9l1gdLoSHO1yF9922”, “type”: “past”, “from”: “2021-07-01”, “to”: “2021-07-02”, “page_size”: “300”

The above is the 24th request out of 32 pages.

Datetime - 07/14/2021 05:43 pm SGT
Request URL -
next_page_token: iMQYXUEiFC7FQhCbg0rOT5RpIVdhsajDNv20, type: past, from: 2021-07-01, to: 2021-07-02, page_size: 300

I was not allowed to enter links. So removed URL in other requests.

Hi @jaganagaj,

Thanks for emailing us directly—we’re looking into this for you and will follow up over email directly. (ZOOM-295318)

Thanks,
Will