Host in Browser

Hi I was wondering if a user can use the web client to host meetings.

From the docs https://marketplace.zoom.us/docs/sdk/native-sdks/Web-Client-SDK/overview it says the you can use the web-client to join meetings but not host meetings?

Hi @mikko,

Yes you can use the web client to host and join meetings.

Thanks

Hi Michael,
Any example to host a meeting?

kevinatzoom

hi,

using the JS SDK, when generating the signature with ZoomMtg.generateSignature(), you can set the ‘role’ to 1 to become a host.

regrads,
hari

Thanks @harald.glanzer!

@kevinatzoom, let us know if this answers your question!

Thanks,
Tommy

Hi Tommy,
That make sense, we tried to embedded the JS SDK into our embedded Linux environment, which is arm64, the Linux version of Zoom client s for x86-64 platform, so any plan to release the ARM version?

Also for the JS SDK, we try to provide this web client for our customer to use, can they use their own zoom login credential to initiate joining/holding a meeting?

Kevinatzoom

Hey @kevinatzoom,

  1. There is no Arm version planned for now, unless we get more customer requests.

  2. I don’t know of your full use case, but it sounds like you can accomplish this by having your customers create a JWT app and use their own API credentials, or you could implement OAuth so they could login to your app with their Zoom account and host/join meetings.

Let me know if this helps!

Thanks,
Tommy

Hi Tommy,

I am just confused a little bit, correct me if I was wrong. Is there any different between starting and creating a meeting. In this thread https://devforum.zoom.us/t/web-sdk-version-1-5-0-is-now-live/5185/2 , Michael mentioned the webSDk client cannot create a meeting but only start a meeting. I also noticed in order to generate a signature, a valid meeting number is need no matter the role is host or not.

Our use case is that porting zoom feature into our conference product. Since we are arm64 linux paltform, websdk is our only choice so far. We need our customer can use their own credential to login, join or start a new meeting, just like the android/windows zoom App. So the websdk do have limitation on allowing the customer to start a new meeting just like zoom app?

Kevin

Hey @kevinatzoom,

Sorry for the confusion. You can start a meeting as a host using the Web SDK, and yes you need to know the meetingID. One solution could be to always use the personal meeting ID so you know what meeting it is. Once your user logs in, you canGet that user and grab their personal meeting id.

Or you can create the meeting manually or using our Create Meeting Endpoint, then use the List Meeting Endpoint to find the meeting id (also the meeting number) and integrate that to start your meeting via the Web SDK.

Does this clear things up?

Thanks,
Tommy

Hi Tommy,
So I use my own zoom account to register a develop account, and then create a JWT key and secret. No matter I join either a new meeting id or PMI which was created by my zoom windows App, I get error “Can not be host in other account’s meeting”. Is that the problem the key and secret are not the same with my normal account?

When you talking about starting a meeting as host use websdk, who is the creator of this meeting and how? Do I need create a meeting use this key and secret to manually or use “Create Meeting Endpoint” first, then join as host?
Thank you.

Kevin

Hey @kevinatzoom,

The PMI and JWT Key and Secret must be from the same account.

The creator of this meeting via the Web SDK "role":1 needs to be whoever owns the JWT API Credentials. Basically it uses the PMI to start an Instant meeting feature (as shown in your profile)

56%20PM

I just figured out how to Create and Start a meeting on your App using OAuth without the Zoom JS SDK:

  1. When a user comes to your Web app, they OAuth (login with Zoom) and you get an access_token which you can use to call API’s on their behalf.
  2. Then they click a “Create meeting” button you made on your site, which creates a meeting (on their account via the Create Meeting Endpoint). Save the start_url in the response.
  3. Then they click a “Start/Join Meeting” meeting button you made on your site which displays a html iframe with the start_url. (Or skip the button part and display the iframe after you get the response from Step 2.)
<iframe src="{{ START_URL }}" width="1000px" height="500px"></iframe>

(You could keep the Zoom JS SDK if you want a pre built solution if you ever need to join meetings with or without OAuth, but to start the meeting and join as a host use the solution above)

I found figured out this solution from our JS Web SDK example docs here.

Let me know if this helps!

Thanks,
Tommy

Hi Tommy,
That make sense, I will try it first. Thanks.

Kevin

1 Like

Let me know if you get stuck along the way. Happy to help! :slight_smile:

Hi Tommy,
I did try your method. We always want our custom control their own account. So I did create Oauth in order to get the permission. I can create a meeting through zoom’s endpoint and get the start_url and join_url. Then I tried you iframe method with the “start_url” and I only get a black screen. And also, all the instruction form here https://marketplace.zoom.us/docs/sdk/native-sdks/Web-Client-SDK is based on JWT App key/secret method. So how could you make work without the JS SDK, I think the Oauth can work with SDK.

Thanks.
Kevin

Hey @kevinatzoom,

What browser were you trying the iFrame method in?

Your use case of multiple users and logins will only work with the OAuth App Type.

JWT is a one(host) to one/many (participants) solution where the JWT Creds owner will always be the host of the meeting, and users joining will not be signed in, but just “Join” the web client with a set username. The examples here is a Doctor uses the JWT JS SDK to always be the host of a meeting and a custom login system separate from Zoom where users can join meetings without having to login with Zoom. Essentially “white labeling Zoom.”

I am sorry we don’t support your use case with Zoom OAuth and JS SDK yet.

If you have more questions about this feel free to ask!

Thanks,
-Tommy

Hi Tommy,
I am using chrome. You said in the step3, you embedded the meeting’s start_url with iframe, and join the meeting as a host in the webpage, how can you do that without any sdk?

Kevin

Hey @kevinatzoom,

Can you try this flow:

  1. Create meeting and get the start_url in the response
  2. Parse out the zak token query param.
  3. Display an iFrame with this url `https://zoom.us/wc/MEETINGID/start?zak=ZAKTOKEN

This will start the created meeting as the host in an iframe on your site. (All OAuth, not using SDK.)

Here is the sample code:

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>Sample Zoom Browser</title>
  </head>
  <body>
    <h1>Sample Zoom Browser</h1>
    <p>Start a meeting in browser as a host</p>

    <iframe src="https://zoom.us/wc/MEETINGID/start?zak=ZAKTOKEN" width="1000px" height="500px"></iframe>

  </body>
</html>

Here is a sample app that does this.

Let me know if this works!

Thanks,
Tommy

Hi Tommy,
Thanks. I will try today, But I just very curious, if this web page’s meeting is not handled by JS SDK. who-else control the interface and hold the meeting.
Kevin

Hey @kevinatzoom,

The host settings would control the interface, and whomever created the meeting (the host) would start/hold the meeting.

Your other users can join the meeting using the join_url inside an iFrame.

If you want to customize the interface further, you do need to use the JS SDK.

Thanks,
Tommy

Hi Tommy,
Thanks, I got this working with your new iframe src format. Other than use the JS SDK, zoom server seems setting up it’s own JS webclient. And yes, I can not customize the interface, and the camera seems cannot been detected also. So my question is when the JS SDK will work with OAuth or this “zak” method. Or if this will never gone true, how to use the JWT to acess the REST API to manage the meeting, since I only saw OAuth method to access those REST/APIs.

Kevin