Inputs for JoinMeetingWithoutLogin

Description
We are using the Zoom Electron SDK to join meetings without login. On occasion, these meetings require a token for authorization before entering the meeting room. As shown in the documentation, the toke4enfrocelogin and participantid are required to do so. We are unable to figure out from the documentation what the token and ID required are. Is it the ZAK token or the user token? Is it the account ID from the API or something else?

Which version?
Zoom Electron SDK v4.6.15798.0403

Screenshots

Laptop (please complete the following information):

  • Device: Macbook Pro 13in
  • OS: macOS Catalina
  • v10.15.4
1 Like

Hi johnkeck

Thanks for the post.

You may find the details of each concept in our SDK doc: https://marketplace.zoom.us/docs/sdk/native-sdks/preface/zak

Hope this helps. Thanks!

Thanks for the reply @Carson_Chen, I totally understand what each of those are. Where I’m confused is which of those to use for toke4enfrocelogin and participantid in the JoinMeetingWithoutLogin call shown in the image above. Could you let me know which of the above are required for those parameters? The documentation doesn’t say exactly which token or ID needs to be passed.

Hi johnkeck,

Thanks for the reply. These 2 parameters are optional. You may pass the Zak token to token4enforcelogin to join a meeting by authenticating with tokens retrieved from Zoom API. For participant ID, normally when you are in a meeting, you will be assigned a participant ID, if you happen to know the participant ID(such as from another device), you could pass it here.

Hope this helps. Thanks!

Passing the Zak token to the JoinMeetingWithoutLogin is ending with a meeting status of 6 (failed). This only happens with rooms requiring authorization. Is there anything else you need to pass or do to allow joining an authentication-required room without login?

1 Like

Hi johnkeck,

Thanks for the reply. Normally when join meeting fails, it will also return the fail reason. What is the fail reason returned? Could you provide the SDK log so that we could further analyze the issue you are facing? You may enable the log at SDK initialization and find it in ~/Library/Logs/(appName).

Thanks!

Try StartMeetingWithoutLogin instead

@bogdan.lytvynovskyi have you successfully used StartMeetingWithoutLogin with password-protected meetings? Doesn’t look like you can with the parameters involved.

When the meeting fails, were would I find this fail reason? The JoinMeetingWithoutLogin just returns 0 and the meetingstatuscb has status 6.

So you call this API to join meeting, even though it is called start. Before meeting is started you need to disable meeting password dialog (EnableInputMeetingPasswordDlg(false)). This should allow you to set callback SetInputMeetingPasswordAndScreenNameNotificationCB and pass down password in your handler.

I don’t use Electron for development, so tried some quick search to map desktop SDK functions to electron.

1 Like

@bogdan.lytvynovskyi Thanks for helping out! :smiley:

Hi @johnkeck,

Thanks for the reply. I have modified the implementation in our demo app and I am able to join a meeting with a password, here are the steps:

  1. Modify the HTML element in https://github.com/zoom/zoom-sdk-electron/blob/master/demo/pages/start_join_without_login.html#L65, remove vanityID, and add “password” and “Zak”;
  2. Change the JavaScript function dojoin(), parse the new parameters, and add sendjoin(meetingnum, username, password, zak); Also update the ipcRenderer.send
  3. In main.js, configure the joinunlogin function to reflect the new parameters.

Rebuild the project and enter the meeting number, password, display name and Zak, you should be able to join a meeting with a password.

Hope this helps. Thanks!

Yes, these new parameters allow you to join a meeting without login with a password. Unfortunately, this method does not work for protected domains. For example, when trying to join the protected domain utexas.zoom.us, the JoinMeetingWithoutLogin method fails without logging why. This also happens with other protected domains. Any idea how to get around this? I couldn’t figure out how to set the password through callbacks when using @bogdan.lytvynovskyi 's method.

To follow up @Carson_Chen, this only occurs when attempting to join meetings that have Only authenticated users can join meetings settings enabled. I can not find a way to join meetings with these settings that also have a password.

Hi @johnkeck,

Thanks for the reply. As mentioned in the https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-meetings-and-webinars, this feature requires the participants to log in to join a meeting, which means the participants need to either using email to log in or use SSO to log in. Using the token to join a meeting(API user) does not meet the requirements so it is not working.

Hope this helps. Thanks!

Any idea why these can be joined if using the start without login method then @Carson_Chen? As @bogdan.lytvynovskyi mentioned, if there is no password for the meeting it may be joined by using the StartMeetingWithoutLogin endpoint even with the log in requirement feature. Why does the StartMeetingWithoutLogin method allow this behavior but the JoinMeetingWithoutLogin method not?

Hi @johnkeck,

Thanks for the reply. The StartMeetingWithoutLogin and the JoinMeetingWIthoutLogin are designed for different scenarios, so what you are mentioning is by design. Joining a meeting using startMeetingWithoutLogin is a special case to deal with when the user who is trying to start a meeting is not the host.

Thanks!