Hello!
I’m trying to integrate Zoom Meeting SDK into my React app (with Typescript), what I’m trying to integrate is Webinar using Component view, but when I try to call client.join, I get a generic error in the console:
{
"type": "JOIN_MEETING_FAILED",
"reason": "Fail to join the meeting.",
"errorCode": 200
}
I will list below the step by step of how I performed the integration.
1 - REQUEST A JWT TOKEN
I used my application’s Client ID and Client Secret information, created in the Zoom Marketplace:
And I tested with Development and Production credentials.
Body:
{
"sessionName": "Sala Webinar Teste LEC",
"userIdentity": "66f2bdc5e5fadad27e6f1484"
}
Response:
{
"data": {
"signature": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcHBfa2V5IjoiaXRIN0dXSF9TT3VTSHJWYWRwdlY3QSIsInJvbGVfdHlwZSI6MSwidHBjIjoiU2FsYSBXZWJpbmFyIFRlc3RlIExFQyIsInZlcnNpb24iOjEsImlhdCI6MTc0OTA3MjYyOCwiZXhwIjoxNzQ5MjQ1NDI4LCJ1c2VyX2lkZW50aXR5IjoiNjZmMmJkYzVlNWZhZGFkMjdlNmYxNDg0IiwiY2xvdWRfcmVjb3JkaW5nX29wdGlvbiI6ZmFsc2UsImNsb3VkX3JlY29yZGluZ19lbGVjdGlvbiI6ZmFsc2UsImF1ZGlvX2NvbXBhdGlibGVfbW9kZSI6dHJ1ZX0.NZ1cdqOxw_cjmQ_Cm2VRdTW729DBFj4rW9lfD9rU_Ow"
}
}
So far everything seems to be correct with the integration, after all the signature value was returned.
2 - A BUTTON ON THE SCREEN THAT CALLS THE FUNCTION TO INITIALIZE THE WEBINAR ROOM
The button calls this function:
const initialize = useCallback(async (config: MeetingSDKConfig) => {
try {
await client.init({
zoomAppRoot: document.getElementById('meetingSDKElement'),
language: 'pt-BR',
customize: {
meetingInfo: ['topic', 'host', 'mn', 'pwd', 'telPwd', 'invite', 'participant', 'dc', 'enctype'],
toolbar: {
buttons: [
{
text: 'Compartilhar Tela',
className: 'btn-share',
onClick: () => toggleScreenShare(),
},
{
text: 'Levantar Mão',
className: 'btn-hand',
onClick: () => raiseHand(),
},
],
},
},
});
setState(prev => ({ ...prev, isInitialized: true }));
} catch (error) {
console.error('Erro ao inicializar o Meeting SDK:', error);
throw error;
}
}, [client]);
In step 2 I also don’t get any error feedback, so the flow continues.
3 - AFTER SUCCESSFULLY INITIALIZING THE FUNCTION TO ENTER THE WEBINAR ROOM IS CALLED
const join = useCallback(async (config: MeetingSDKConfig) => {
try {
const signature = await meetingSDKService.getMeetingJWT(config.isHost || false);
await client.join({
sdkKey: '******************vV7A',
signature: signature,
meetingNumber: '82762459870',
password: '',
userName: 'João Gomes',
userEmail: 'joao@gmail.com'
// zak: config.zak,
// tk: config.tk
});
setState(prev => ({ ...prev, isJoined: true }));
} catch (error) {
console.error('Erro ao entrar na reunião:', error);
throw error;
}
}, [client]);
And in step 3 the error occurs in the console.
Below are prints showing the settings of the APP that I created on the Zoom Marketplace:
I have selected all possible Webinar scopes.
Below are the versions I am using:
React: 18.2.0
Meeting SDK: 3.13.2
Browser: Google Chrome v137.0.7151.57 64bits
Device: Desktop Computer
Operation System: Windows 11 Pro 24H2 64bits
Documentation: Meeting SDK - web - Get started