How to tell if a ZAK user is a meeting host

For a given meeting, how can we join as host if that option is available, or as a user if not when joining with ZAK?

For meetings where the user can be host, this works:

ZoomSDKStartMeetingUseZakElements *startParams = [[ZoomSDKStartMeetingUseZakElements alloc] init];
    startParams.userType = SDKUserType_APIUser;
    startParams.customerKey = nil;
    startParams.meetingNumber = meetingID.longLongValue;
    startParams.displayName = displayName;
    startParams.isDirectShare = NO;
    startParams.displayID = 0;
    startParams.isNoVideo = NO;
    startParams.isNoAuido = NO;
    startParams.vanityID = nil;
    startParams.zak = zak;
    startParams.userId = userId;

For meetings where the user is joining with a password, this works:

ZoomSDKJoinMeetingElements *joinParams = [[ZoomSDKJoinMeetingElements alloc] init];

        joinParams.userType = ZoomSDKUserType_ZoomUser;
        joinParams.webinarToken = nil;
        joinParams.customerKey = nil;
        joinParams.meetingNumber = meetingID.longLongValue;
        joinParams.displayName = displayName;
        joinParams.password = meetingPassword;
        joinParams.isDirectShare = NO;
        joinParams.displayID = 0;
        joinParams.isNoVideo = NO;
        joinParams.isNoAuido = NO;
        joinParams.vanityID = nil;
        joinParams.zak = zak;

How can we tell beforehand which method to use to join / start the meeting?

@KieranAC @jon.zoom

Hi @alex-aircover, thanks for using the dev forum.

If you are not already in a meeting, determining whether or not a user is the host would fall under the category of meeting management. Since the Meeting SDK no longer supports meeting management, getting this information would have to be done through the REST API. If you need any assistance with finding the correct endpoint(s) for this, the #api-and-webhooks category would be a great place to start. :slightly_smiling_face:


Thanks @jon.zoom. I can totally make a call to get the user’s meetings via the REST API since I have that scope, but it seems kind of insane that not only do we have to make an additional API call every time someone joins a meeting, but that Zoom requires an optional scope like this to enable a basic feature like joining a meeting you own as a host, something the Zoom client does out of the box.

Hi @alex-aircover,

The Zoom client does in fact utilize similar components to get the information it uses, although it may not be immediately transparent when using it. Even when joining a meeting through the Meeting SDK, there are various network requests being executed to check account and meeting settings. A lot of this behavior stems from the fact that our back end is treated as a single source of truth for various pieces of information which may be dynamic.

I’m sure that there will be plenty of helpful suggestions over in the #api-and-webhooks category, but please let me know if you have any ideas around how we could improve this flow from an SDK perspective and we can certainly continue this discussion. We are always looking for opportunities to improve our developer offerings, so your feedback is greatly appreciated!


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