StartParam.apiUserStart retirement and anonymous meeting join

Since desktop SDK was updated with removal of apiUserStart - what is current way to join meeting anonymously?

Hi.
This c# code works.

    private  void JoinMeeting(string MetingId, string Passcode, string UserNameForTheMeeting)
    {
        try
        {
            ZOOM_SDK_DOTNET_WRAP.SDKError err;

            ZOOM_SDK_DOTNET_WRAP.JoinParam param = new ZOOM_SDK_DOTNET_WRAP.JoinParam();
            param.userType = ZOOM_SDK_DOTNET_WRAP.SDKUserType.SDK_UT_WITHOUT_LOGIN;
            ZOOM_SDK_DOTNET_WRAP.JoinParam4WithoutLogin join_api_param = new ZOOM_SDK_DOTNET_WRAP.JoinParam4WithoutLogin();

            join_api_param.meetingNumber = MetingId;
            join_api_param.psw = Passcode;
            join_api_param.userName = UserNameForTheMeeting;
           
            param.withoutloginJoin = join_api_param;

            err = ZOOM_SDK_DOTNET_WRAP.CZoomSDKeDotNetWrap.Instance.GetMeetingServiceWrap().Join(param);
        if (ZOOM_SDK_DOTNET_WRAP.SDKError.SDKERR_SUCCESS == err)
       {
           // JOIN SUCCESS
       }
        }
        catch (Exception ex)
        {
            // Do something...
        }
    }
1 Like

Hi @bogdan.lytvynovskyi,

Thanks for the reply. If you would like to join meeting anonymously, you could refer to the implementation here(https://github.com/zoom/zoom-sdk-windows/blob/master/demo/sdk_demo_v2/LOGIN_sdk_login_UI.cpp#L301):

if(NULL == m_editMeetingNumber  || NULL == m_editMeetingPassword || NULL == m_editScreenName )
		return;
	ZOOM_SDK_NAMESPACE::tagJoinParam joinParam;
	joinParam.userType = ZOOM_SDK_NAMESPACE::SDK_UT_WITHOUT_LOGIN;
	ZOOM_SDK_NAMESPACE::JoinParam4WithoutLogin& withoutloginParam = joinParam.param.withoutloginuserJoin;
	std::wstring MeetingNumber = m_editMeetingNumber->GetText().GetData();
	std::wstring MeetingPassword = m_editMeetingPassword->GetText().GetData();
	std::wstring ScreenName = m_editScreenName->GetText().GetData();
	withoutloginParam.meetingNumber = _wtoi64(MeetingNumber.c_str());
	withoutloginParam.vanityID = NULL;
	withoutloginParam.userName = ScreenName.c_str();
	withoutloginParam.psw = MeetingPassword.c_str();
	withoutloginParam.hDirectShareAppWnd = NULL;
	//withoutloginParam.toke4enfrocelogin = NULL;
	withoutloginParam.participantId = NULL;
	withoutloginParam.webinarToken = NULL;
	withoutloginParam.isDirectShareDesktop = false;
	withoutloginParam.isVideoOff = false;
	withoutloginParam.isAudioOff = false;

	if(MeetingNumber.size() > 0)
	{
		if(m_parentFrame)
		{
			m_parentFrame->SetCurrentPage(m_WithoutLoginStartJoinMeetingPage);
			m_parentFrame->SwitchToWaitingPage(_T("waiting to join meeting..."),true);
		}
		
		if (SDKInterfaceWrap::GetInst().IsSelectCustomizedUIMode())
		{
			CSDKDemoAppEvent* pAppEvent = m_parentFrame->GetAppEvent();
			if(pAppEvent)
				pAppEvent->InitCustomizedUI();
		}
		ZOOM_SDK_NAMESPACE::SDKError err = ZOOM_SDK_NAMESPACE::SDKERR_SUCCESS;
		err = m_withoutLoginJoinMeetingWorkFlow.JoinMeeting(joinParam);
		if(ZOOM_SDK_NAMESPACE::SDKERR_SUCCESS == err)
		{
			m_bInMeeting = true;
		}
		return;
	}

Hope this helps. Thanks!

1 Like