Use case : Use SDK to Update host user zoom settings from SDK
I am planning to create and run a Windows app in the host computer and use it update zoom desktop client settings (General,Audio,Video).
How we can achieve this ? Can I join the meeting from SDK and update the Host Setting?
@praveen.selvaraj if the SDK is starting the meeting as host, the SDK will have the authority to grant other participants host / co-host status
@chunsiong.zoom Thanks for your response . I need help in starting a meeting as host. I am using Zoom SDK with C# wrapper(6.04) . Things i did so far
- Created Meeting SDK APP
- Used credential to generate JWT token and authenticated
- authenticated host user and got access token(oAuth)
- used access token and tried to start the meeting , but it instead of starting it try to join the meeting with message waiting for host
Not sure what is wrong in my flow ? Is it related to Scope ? I am admin pro user but cant see option to choose read :admin role . Please share some insight
Alternatively instead of OAuth can use email \Password to start the meeting as host ?
@praveen.selvaraj you will need the host’s ZAK token to start the meeting.
On the Zoom C# SDK, make sure you put in the ZAK token in the parameters, and use the Start Meeting instead of Join Meeting function.
@chunsiong.zoom Thank you , looks i have missed the last step to get host user access token from the access token using https://api.zoom.us/v2/users/me/token?type=zak.
Now I am getting “Invalid access token, does not contain scopes:[user:read:token, user:read:token:admin].” as reponse .FYI I am Pro user and admin but not owner. Let me know how to get this roles ?
@praveen.selvaraj have you taken a look at the scope on whichever app you are working with ?
It could be general app, oauth app, or server to server oauth app. There should be a scope section which will allow you to choose the relevant scope
@chunsiong.zoom still when i start the meeting from C# SDK,it try to join the by saying “waiting for host” instead of starting. I have below scope added while creating meeting SDK App which was also confirmed using the ZOOM api(https://zoom.us/oauth/token)
"user:read:user user:update:user user:read:list_assistants user:read:token user:read:zak user:read:list_permissions user:read:list_schedulers user:read:email user:read:pm_room user:read:settings user:update:settings user:read:list_collaboration_devices user:read:collaboration_device meeting:read:list_meetings meeting:read:meeting meeting:read:invitation meeting:read:device role:read:role role:delete:role role:read:list_roles role:delete:member role:read:list_members
Below is the SDK code to start the meeting (but it always try to join)
RegisterCallBack();
ZOOM_SDK_DOTNET_WRAP.StartParam param = new ZOOM_SDK_DOTNET_WRAP.StartParam();
param.userType = ZOOM_SDK_DOTNET_WRAP.SDKUserType.SDK_UT_WITHOUT_LOGIN;
ZOOM_SDK_DOTNET_WRAP.StartParam4WithoutLogin start_withoutlogin_param = new ZOOM_SDK_DOTNET_WRAP.StartParam4WithoutLogin();
start_withoutlogin_param.meetingNumber = UInt64.Parse(textBox_meetingnumber_api.Text);
start_withoutlogin_param.userZAK = “xxxxxx”;//zoom host user access token here;
start_withoutlogin_param.userName = textBox_username_api.Text;
start_withoutlogin_param.zoomuserType = ZOOM_SDK_DOTNET_WRAP.ZoomUserType.ZoomUserType_APIUSER;
param.withoutloginStart = start_withoutlogin_param;
ZOOM_SDK_DOTNET_WRAP.SDKError err = ZOOM_SDK_DOTNET_WRAP.CZoomSDKeDotNetWrap.Instance.GetMeetingServiceWrap().Start(param);
if (ZOOM_SDK_DOTNET_WRAP.SDKError.SDKERR_SUCCESS == err)
{
Hide();
}
else//error handle
{
MessageBox.Show(err.ToString());
}
Let me know what I am missing ? Your help is much appreciated
@praveen.selvaraj could you elaborate a little more?
I’ve just tried the latest C# Windows SDK, and managed to start a meeting with user’s ZAK token and Meeting Number. It is started as host as well.
@chunsiong.zoom After updating to latest SDK(6.0.11) it works as expected. Does authorization code generated after Scope acceptance also has expiry ? looks it also need to regenerated often . can you share some insight or a link I can read some information.
@praveen.selvaraj the authorization code can only be use once, and thereafter it will be invalidated.
The intention is to use refresh token to get new access token.
Thanks @chunsiong.zoom and sorry for late response . I am developing an app and I need to allow multiple zoom users to start their meeting as host. So How I can go around the manual authorization for each user ? I assume refresh token also cant be used once the session is closed (app exit) ,It means i need to get new authorization(Manual) every time the app is launched ?
@praveen.selvaraj the refresh token is valid for 90 days. You can use the refresh token to get the host’s ZAK token within this 90 days, and the new refresh token will have a validity of another 90 days
Thanks @chunsiong.zoom . This conversation can be closed.