Some issue with next_page_token in list meetings

Hi !

I have daily process that receive all past day meeting to my

SQL Database. Usually it work fine, but sometime it fail on bad

request (400) for my check the problem is with next page

token , although it’s run 2 minute after past link ended,

so it has to be not expired.

I call URL like this : https://api.zoom.us/v2/metrics/meetings?type=past&from=2020-02-05&to=2020-02-06&page_size=300&next_page_token=IKj1iCjmezCKou17qcjIzhtXI5Ewnr9vwo7&access_token=myJWTToken

I have a theory - maybe the 15 minute expiration is from the first page URL call , and not from the past one ?

Please advise

Regards

Lev

Hey @lgelman,

What is the exact error message you are getting?

Double check you are in bounds of our rate limits.

Thanks,
Tommy

Hi ,

Yes I know about limits ,

this is exact what I do :

https://api.zoom.us/v2/metrics/meetings?type=past&from=2020-02-07&to=2020-02-09&page_size=300&access_token=MyJWTToken

–>200 OK -> 65 Second delay

https://api.zoom.us/v2/metrics/meetings?type=past&from=2020-02-07&to=2020-02-09&page_size=300&next_page_token=zB0GYJ3W58NvpXCFtCqBBzT0FpouO7XxET2&access_token=MyJWTToken

–>200 OK -> 65 Second delay

https://api.zoom.us/v2/metrics/meetings?type=past&from=2020-02-07&to=2020-02-09&page_size=300&next_page_token=8m4QKV7sPA2hlnCGlGt6rctL4fbgRSiccH3&access_token=MyJWTToken

–>200 OK -> 65 Second delay

https://api.zoom.us/v2/metrics/meetings?type=past&from=2020-02-07&to=2020-02-09&page_size=300&next_page_token=1oFFPiYDiYY8LWnc1QKDxDcFYGkBr71rWK4&access_token=MyJWTToken

–>200 OK -> 65 Second delay

https://api.zoom.us/v2/metrics/meetings?type=past&from=2020-02-07&to=2020-02-09&page_size=300&next_page_token=Y76D5KWLdVCWoB4nbrnXwrOF376sspezlT5&access_token=MyJWTToken

–>200 OK -> 65 Second delay

https://api.zoom.us/v2/metrics/meetings?type=past&from=2020-02-07&to=2020-02-09&page_size=300&next_page_token=Px39YgrLMHrACWPzJIcw0ncmJjgnelI0be6&access_token=MyJWTToken

–>200 OK -> 65 Second delay

https://api.zoom.us/v2/metrics/meetings?type=past&from=2020-02-07&to=2020-02-09&page_size=300&next_page_token=QdYwZRAP991kdHbknMQC3DBHKkLuDdihrT7&access_token=MyJWTToken

–>200 OK -> 65 Second delay

https://api.zoom.us/v2/metrics/meetings?type=past&from=2020-02-07&to=2020-02-09&page_size=300&next_page_token=1N1tl6Xl5MdWrCJHRrsFOnpgZR2k0zktJx8&access_token=MyJWTToken

–>200 OK -> 65 Second delay

https://api.zoom.us/v2/metrics/meetings?type=past&from=2020-02-07&to=2020-02-09&page_size=300&next_page_token=Vgffix2U8h0CX7lDFfJHyGiX25hw1lXL2z9&access_token=MyJWTToken

–>200 OK -> 65 Second delay

https://api.zoom.us/v2/metrics/meetings?type=past&from=2020-02-07&to=2020-02-09&page_size=300&next_page_token=l8qZh8H2QWTJqgmnd8LzAos2nrQCNn3iNs1&access_token=MyJWTToken

–>400 Bad Request

When I past last link in browser I got

300 The next page token is invalid or expired.

In API reference is written about 15 minutes expiration, but my question is did 15 minutes from time of first page link (it can explain my errors) , or it had to be from past page that I received , if yes, why I got error ?

Regards

Lev Gelman

Hey @lgelman,

Thanks for sharing more details!

We are looking into this and will get back to you. (ZOOM-137537)

Thanks for your patience,
Tommy

Hey @lgelman,

You are right, although the tokens are different each time, they only last 15 minutes from the first one.

Thanks,
Tommy

Thanks Tommy !! So, if in one busy day will be 3000+ meetings, I have no way to get them all…

Hey @lgelman, good point.

Have you tried using our Webhooks?

I know they don’t have all the data that the dashboard endpoints have, but you can get meeting data in real time.

Another solution is to reach out to isv@zoom.us about our data streaming service which will provide the Meeting Dashboard data as a Webhook.

Thanks,
Tommy

Hi !

I run it from Sql Server SSIS on scheduler, it’s not web application , it’s offline in most of a day.

Meanwhile I’ll use our Salesforce system, that has Zoom integration, to get list of all meetings.

Regards

Lev Gelman

1 Like

Sounds good @lgelman,

I will talk to the team about improving this.

Thanks,
Tommy

Just to clarify, is this saying that when you make the first call to get the first set of meetings, all of the meetings need to be retrieved within 15 minutes? I was loading the meetings and then gathering the participant and QOS data for each meeting one at a time. I’m also running into the 400 error and am wondering if this is the cause since it’s taking much more than 15 minutes to gather all of that data.

Should I be retrieving the meetings as quickly as I can then go back and collect the additional information in the meetings?

Hi @jferguson yes, this is correct. We recommend moving through the full paginated requests within the 15 minutes. Are you able to reduce the timeframe of the requests? Are you using Dashboards primarily for historical or live data?

This is for historical data. I was able to work around this by loading the meeting data and storing the uuid’s in a list then iterate back through the meetings in my list and collecting the participant data. Since I’m only collecting a days worth of meetings at a time it’s able to get all of the meetings well within the 15 minutes. I just had to make it a two stage process.

Great, let us know if there’s anything we can help with!