Start meeting using SDK (Using another Zoom account other than App created)

Hi,

External users want to access our application with another accounts other than the App created account. Authorization and create meetings are working. But getting following error while starting the meeting

{
“method”: “join”,
“status”: false,
“result”: “Invalid signature.”,
“errorMessage”: “Signature is invalid.”,
“errorCode”: 3712
}

I am creating the signature using below code

ZoomMtg.generateSDKSignature({
meetingNumber: meetingNo,
sdkKey: process.env.REACT_APP_ZOOM_MEETING_SDK_KEY,
sdkSecret: process.env.REACT_APP_ZOOM_MEETING_SDK_SECRET,
role: 1,
success: function (res) {
startMeeting(res.result, meetingNo, password, id)
},
error: (error) => {
console.log(“error”, error)
}
});

function startMeeting(signature, meetingNo, password, meetId) {
try {
ZoomMtg.setZoomJSLib(‘https://source.zoom.us/2.13.0/lib’, ‘/av’);

        ZoomMtg.preLoadWasm();
        ZoomMtg.prepareWebSDK();
        ZoomMtg.prepareJssdk()
        document.getElementById('zmmtg-root').style.display = 'block';
        document.getElementById('headerId').style.display = 'none';
        ZoomMtg.showRecordFunction({
            show: true
        });
        ZoomMtg.record({
            record: true
        });
        ZoomMtg.init({
            leaveUrl: `${leaveUrl}&id=${meetingNo}`,
            disablePreview: true,
            success: (success) => {

                ZoomMtg.join({
                    signature: signature,
                    sdkKey: sdkKey,
                    meetingNumber: meetingNo,
                    passWord: password,
                    userName: userName,
                    userEmail: userEmail,
                    success: (success) => {
                        updateMeetingStatus(meetId, "Start");
                    },
                    error: (error) => {
                        console.log(error)
                    }
                });
               

            },
            error: (error) => {
                console.log(error)
            }
        })
    } catch (error) {
        console.log("error", error);
    }
}

This SDK app is already published in Zoom marketplace. But cant start the meeting when authorize with other Zoom account other than the app created account

Can I able to start meeting using another accounts?

image

it depends on the role of the user

  • role = 0 (guest) → it’s possible to join a meeting (created in another account)
  • role = 1 (host) → not possible to join, the user needs a Zak token to join

if the meeting option “Allow participants to join anytime” is active, a guest can start the meeting

1 Like

@subscriptions3 ,

Do you have a sample of your signature token?

@chunsiong.zoom

Here is the sample signature

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZGtLZXkiOiJHc3VrVlBtR1N5ZTM3UnViamc1bkEiLCJpYXQiOjE2OTM0NTc2NzcsImV4cCI6MTY5MzQ2NDg3NywibW4iOiI5NjgwODA5MzczMCIsInJvbGUiOjF9.7HM1Vu0hGmBVf8NIu26zbvxA6afqM488OD1APhCXaLw

@subscriptions3 , your tokenExp is missing.
Nonetheless, are you using your production or development credentials right now?

@j.schoenemeyer

Hi, Thanks for the reply.

This issue got resolved by using zak.

Updated code is given below.

ZoomMtg.join({
signature: signature,
sdkKey: sdkKey,
meetingNumber: meetingNo,
passWord: password,
userName: userName,
userEmail: userEmail,
zak:zaktoken,
success: (success) => {
localStorage.setItem(“inMeet”,true)
updateMeetingStatus(meetId, “Start”);
},
error: (error) => {
console.log(error)
}
});

This resolved my issue.