Start a meeting via any API

Description
This issue could be related to any of the three APIs: SDK, JWT, OAUTH, but since I am trying to accomplish the UI using the Web SDK, focusing there.

Right now in my OAuth App I have successfully integrated all the needed OAuth logic and am calling “Create a Meeting (/users/{userId}/meetings)” successfully. The result returns two URLs, one for the meeting organizer, and one for regular users. I don’t use these, however, because they take the user out of our application. However, they WORK. The organizer can start the meeting, the users can join the meeting.

I take the meetingNumber and a variety of other data points and feed them into the Web SDK ZoomMtg.join, doing all the appropriate signature and init stuff. However, joining the meeting for anyone results in a “This meeting has not started yet.” If I start the meeting outside, users can join, but the creator of the meeting joins as a regular user and not a host.

So my questions!

  1. How do you use the WebSDK to join a meeting as the host?
  2. Is there an API call in any of the Apps that can Start a meeting?
  3. Or the mysterious third question, is there some other method to accomplish what I am trying to do: Host joins the meeting to start, attendees join as regular, all in the integrated Web SDK UI.

Error
N/A

Which version?
N/A

To Reproduce(If applicable)
N/A

Screenshots
N/A

Smartphone (please complete the following information):
N/A

Additional context
N/A

I have also tested the “join_before_host” option during meeting create, and the web SDK does not allow the user to join if the meeting is not started.

The meeting type is 1, which may affect the “join_before_host” option being functional.

Also tried type = 3, “join_before_host” does not function in WebSDK.

It appears the WebSDK method ZoomMtg.generateSignature has an option field for “role”. How is this value generated when using JWT serverside to create the signature? Referencing this document: https://marketplace.zoom.us/docs/guides/auth/jwt. The Payload portion of the JWT only accepts two fields, or at least only two fields are documented. I do not want to use the WebSDK for generating the signature, since it requires exposing the Client Secret.

Using the less-secure ZoomMtg.generateSignature “role” of 1 does allow the host to properly start the meeting. But again, need to be able to do this with a more secure JWT =P

To start the WebSDK as a host you have to make sure to set the role:1 when you’re generating a signature.

Right now no platforms support starting meetings via API, this has to be a manual process by a user.

Generating a signature using JWT credentials is outside the scope of the JWT Auth docs, to do so you can visit a Generate Signature doc - https://marketplace.zoom.us/docs/sdk/native-sdks/web/essential/signature

Let us know if you have any other questions.

Thanks

Thank you Michael! This is strikingly similar to the JWT auth logic.

Curiously, the documentation you provided here:

https://marketplace.zoom.us/docs/sdk/native-sdks/web/essential/signature

Has better samples than here:

https://marketplace.zoom.us/docs/guides/auth/jwt

Hey @kmwill23,

We will work on making better samples for generating JWT Tokens.

However, JWT Tokens are different than the Web SDK Signature generated via JWT API Credentials.

Thanks,
Tommy

1 Like