Unable to paginate using next_page_token when calling /report/webinars/{webinarId}/participants

I am connecting to /report/webinars/{webinarId}/participants to retrieve a participant report.

the total_records is 3, so when I retrieve it with a page_size >= 3, all is fine.

However if I change the page_size < 3, e.g. if I send to:

/report/webinars/{webinarId}/participants?page_size=2

Then I get 2 results back with a next_page_token.

If I then make a request to :
/report/webinars/{webinarId}/participants?page_size=2&next_page_token={next_page_token}

I get the same 1st 2 results again. I tried omitting the page_size in case that is the issue:

/report/webinars/{webinarId}/participants?next_page_token={next_page_token}

But that returns error code 300 (The next page token is invalid or expired).

I am using a JWT to access, if it matters.

Hey @nelson, thanks for reaching out and using Zoom!

Correct, when you do not include the page_size with the next_page_token you get a The next page token is invalid or expired error. You must use both when paginating.

As for your issue of getting the 1st 2 results again when using the next_page_token, I was unable to reproduce this issue. Pagination worked as intended when I tried.

Are you passing in the webinarId or the webinarUUID?

Thanks,
Tommy

I am passing the webinarId (not the webinarUUID). I am still having this issue. Is there a minimum page_size that pagination will work at? Are you using JWT? And does it matter if I regenerate a new JWT for each request?

Hey @nelson,

Yes I am using JWT, and I just tested generating a new JWT for each request and that all works as expected.

What is the webinarId so I can take a closer look?

Thanks,
Tommy

The webinar ID is 847-288-134

Thanks @nelson,

Were the participants users on your Zoom account, or external participants?

One of them was an internal user, but the other one was an external one.

1 Like

Thanks, still can’t reproduce.

Can you send me your request url for each page, and the corresponding responses?

Thanks,
Tommy

Thanks for the help. I managed to figure it out. The problem was with the separator in the query string. Due to some historical reason, my code was generating:

https://api.zoom.us/v2/report/webinars/847288134/participants?page_size=1&amp;next_page_token=xxxxxxxxxx

instead of the correct

https://api.zoom.us/v2/report/webinars/847288134/participants?page_size=1&next_page_token=xxxxxxxxxx

1 Like

Happy to help @nelson!

Glad the issue was resolved :slight_smile:

Thanks,
Tommy