ZOOM SDK C# Wrapper start meeting without log in

Hi, I am trying to implement the meeting start without login with the GetMeetingServiceWrap().Start method included in the zoom SDK C # wrapper 5.4.54802.0124, my application manages to successfully initialize the SDK and authenticate through GetAuthServiceWrap().SDKAuth, then when I call the Start method it returns SDKERR_SUCCESS and the OnMeetingStatusChanged event is triggered with the status MEETING_STATUS_CONNECTING, but it never reaches the MEETING_STATUS_INMEETING state, it stays connecting, it doesn’t initiate the call and it doesn’t return any error either, below the code used to start the method, I validated the UserZAK with the apis and it works correctly.

Do I need something else in order to make the method work?

RegisterMeetingCallBacks();
ZOOM_SDK_DOTNET_WRAP.StartParam4WithoutLogin prm = new StartParam4WithoutLogin();

ulong meeting = 0000000000000;
prm.meetingNumber = meeting;
prm.vanityID = null;
prm.userName = “Name”;
prm.userID = “XXXXXXXXXX”;
prm.userZAK = “XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX”;
prm.participantId = null;
prm.isDirectShareDesktop = false;
prm.isVideoOff = false;
prm.isAudioOff = false;
prm.zoomuserType = ZoomUserType.ZoomUserType_APIUSER;
ZOOM_SDK_DOTNET_WRAP.StartParam startParam = new StartParam();
ZOOM_SDK_DOTNET_WRAP.StartParam4WithoutLogin withoutLogin = new StartParam4WithoutLogin();
startParam.withoutloginStart = prm;
startParam.userType = SDKUserType.SDK_UT_WITHOUT_LOGIN;

ZOOM_SDK_DOTNET_WRAP.CZoomSDKeDotNetWrap.Instance.GetMeetingServiceWrap().Start(startParam);

Hey @daniel.orozco,

Thanks for using the dev forum!

Is the user that is trying to start the meeting the host of the meeting?

Thanks!
Michael

Hi, yes, the user is the host of the meeting.

Hey @daniel.orozco,

For troubleshooting purposes can you try starting/joining a meeting in your environment without using a ZAK to see if the ZAK token is somehow causing issues in the SDK itself?

Thanks!
Michael

Hi Michael, when I start or join a meeting with a normal user (User & Password) my app works fine, on the other hand, I’m shure that the ZAK is genereted correctly because I’m able to start the Demo Wrapper with it and also works fine. I don’t know where is the bug in my develop. Thank you for the time and help.

Hey @daniel.orozco,

Can you give this code a shot:

        ZOOM_SDK_DOTNET_WRAP.StartParam startParam = new ZOOM_SDK_DOTNET_WRAP.StartParam();
        startParam.userType = ZOOM_SDK_DOTNET_WRAP.SDKUserType.SDK_UT_WITHOUT_LOGIN;

        ZOOM_SDK_DOTNET_WRAP.StartParam4WithoutLogin RestAPIUserStartParam = (StartParam4WithoutLogin)startParam.withoutloginStart;
        RestAPIUserStartParam.userID = "userID";
        RestAPIUserStartParam.userZAK = "zak";
        RestAPIUserStartParam.userName = "displayname";
        RestAPIUserStartParam.zoomuserType = ZOOM_SDK_DOTNET_WRAP.ZoomUserType.ZoomUserType_APIUSER;
        RestAPIUserStartParam.meetingNumber = 00000;
        ZOOM_SDK_DOTNET_WRAP.CZoomSDKeDotNetWrap.Instance.GetMeetingServiceWrap().Start(startParam);

Thanks!
Michael

hi Michael, I tried the code you provided and the result was as follows:

  1. In my custom C# Wrapper it always stays in the MEETING_STATUS_CONNECTING state and never progresses from there.
  2. I tested the code in the Default Demo C# Wrapper 5.5.12509.0330 and it works there, but before starting the call, it popped up a window to request the meeting password (attached image).
    Could you tell me please where to find the code (C ++) of this alternate window to verify what methods uses and find how to implement it on the side of our custom C # Wrapper.
    Thank you for your time and help.

Hey @daniel.orozco,

The “Enter meeting passcode” window is presented by the SDK itself and is not present in the demo application source code. However, if the user is the host of a meeting and the ZAK token is valid, the user should not be prompted for a password.

Thanks!
Michael

Hi Michael, I understand, the error may be in the generation of the ZAK, with the understanding that the host’s email is a google based account added to the main payment account,
I describe my procedure:

  1. I initialize the SDK successfully with the following parameters:
    ZOOM_SDK_DOTNET_WRAP.InitParam param = new ZOOM_SDK_DOTNET_WRAP.InitParam ();
    ConfigurableOptions opt = new ConfigurableOptions ();
    param.web_domain = “https://zoom.us”;
    opt.optionalFeatures = 1 >> 5;

  2. I authenticate the application with a JWT created based on the APP_Key and Secret obtained from the main account (SDK APP).

  3. I use the EndPoint “https://api.zoom.us/v2/users/me/zak” with APP_Key and Secret of the main account (JWT APP) to obtain the ZAK,
    if I send the EndPoint “https://api.zoom.us/v2/users/HostEmail/zak” it returns NULL. If I use the generated ZAK (Me) in the EndPoint
    https://api.zoom.us/v2/users/HostEmail” it does returns the Host information to me. That’s why I assumed it was correct,
    but at the moment the host (account added) start the meeting, it remains in the MEETING_STATUS_CONNECTING state.

Could you please tell me if there is something wrong with my procedure?

Thank you very much.

Hey @daniel.orozco,

Can you set type=zak in your api call to obtain the ZAK and try again?

Thanks!
Michael

Hi @daniel.orozco ,

Happy to help.

You would need to use this endpoint to generate the zak token:
https://api.zoom.us/v2/users/userID/token?type=zak

It seems you are currently generating a user token

Here is a sample C# code to generate the zak token:

var client = new RestClient(“https://api.zoom.us/v2/users/userID/token?type=zak”);
var request = new RestRequest(Method.GET);
request.AddHeader(“authorization”, "Bearer ");
IRestResponse response = client.Execute(request);

Hello @ojus.zoom ,
1.Here is a sample C# code to generate the zak token:

var client = new RestClient(“https://api.zoom.us/v2/users/userID/token?type=zak ”);
var request = new RestRequest(Method.GET);
request.AddHeader(“authorization”, "Bearer ");
IRestResponse response = client.Execute(request);
--------+

This will generate zak token only have to pass userid right?

-----++++++

Actually I have created meeting (Jwt app type - using Api )and join meeting inside my xamarin app (using xamarin.ios.zoom sdk) But I have not authorised the host so to authorise host is there any method which avoids login for Authorization?
For the host the meeting should start inside my app for now I have to start it externally.

Hey @tushars,

Is the user you are creating a Zak token for on your account?

Thanks!
Michael

It’s for my account.Further I need it for different accounts.

Hey @tushars,

If the user has permission to start the meeting and is on your account, a ZAK token can be used to start the meeting without that user having to log in. If they do not belong to your account you will have to create an OAuth app.

Thanks!
Michael

Thanks for the your important information.
I have 2 more doubts

  1. Can I make multiple users as host for single master account for example :
    tushars@techpro.co.in - master account
    User 1 - xyz@techpro.co.in
    User 2 - abc@techpro.co.in
    these two are the host for the above master account so using the same app and secret key of master account could user1&2 create and join meeting.For such scenario which version of account required pro or buisness or enterprise.

  2. Oauth app type - Using oauth whether I should create meeting in iOS and Android.

Thanks in advance.

Hey @tushars,

Hmm, I am not too sure about these two questions. However, the people over at #api-and-webhooks should be able to answer these :slight_smile:

Thanks!
Michael

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.