Fetch required fields (e.g. email, password) to join a meeting or webinar

We allow event organizers to input a Zoom meeting ID which could then be joined by attendees. To join an attendee into a meeting, we are using ZoomMtg.join method. However, at the time of calling the join, we don’t know whether the ID is for a webinar or meeting (they are equivalent in the join context, right?) and therefore whether a password and/or email input must be included.

One of our approaches right now is to make multiple requests and based on the error codes, ask more inputs from attendee. However, this is hacky.

Another approach we could think of is to fetch a meeting or webinar resource and read its configuration before doing the join. However, now, we don’t know whether we should fetch a webinar or a meeting (they are separate RESTful containers as per your API). In addition, this also seems like a workaround, too.

So, our question: what is your method to determine required parameters to join a meeting or webinar based on it’s ID?

Hey @indrek,

Are these meetings / webinars hosted by you? If so, you could compare the Zoom meeting / webinar ID with your list of meetings / webinars.

Otherwise, you could just always require email input so users enter their email for both meetings and webinars.

Thanks,
Tommy

Hey! No, these meetings or webinars are not hosted by us. Essentially, our clients have their own Zoom accounts and subscriptions and we allow them to serve an UI/gateway to their meetings.

How could we achieve this? Is it true that web sdk + JWT app only works with meetings that are hosted by the account which owns the JWT credentials? For example, when I try to join a meeting which is not hosted by the JWT account using the sample app (https://github.com/zoom/sample-app-web), I get a message: “Your connection has timed out and you cannot join the meeting. Verify your network connectivity and try again.”

Hey @indrek,

Thanks for the additional info.

Yes, with the Web SDK, you can only host meetings that you own, but you can join any meeting.

This should work, can you share your signature so I can debug?

Thanks,
Tommy

Thank you for the response, @tommy.

I am still trying to join a meeting which is not hosted by the account holding the JWT. This workflow still produces a “Joining meeting timeout. Your connection has timed out and you cannot join the meeting. Verify your network connectivity and try again.” dialog in the sample app.

This is the response from GET https://zoom.us/api/v1/wc/info which I can see from the network log after I click “Join”:
https://pastebin.com/ZFZf96tM

Signature: Nmk1OFBuSTRUQWVsamNMenF5LXB3QS43NTEzMDkwNzcwLjE1ODg5NzYzNjEzMTUuMC5nb1pqNmlZVVo5RlM0VFRLMzJ3QlEvRko5REkzZGR3UG1Dd3dYZ1dtVW1jPQ

This would mean much to us if it worked. Otherwise, we’d have to instruct our clients to create JWTs themselves and then share it with us which is obviously not our first choice.

Hey @indrek,

It looks like the meeting you are trying to join is owned by a free user.

To host meetings with the Web SDK, you must have at least a Pro account.

Try having them upgrade and see if you can join their meeting.

Thanks,
Tommy