{type: ‘JOIN_MEETING_FAILED’, reason: ‘Invalid Parameter’, errorCode: 4003}:
I am working on next js 13 and using zoom sdk for my app requirements . I am getting this error when a user of my app is trying to join the meeting. Let me show you my code.
Code :
"use client"
import ZoomMtgEmbedded from '@zoomus/websdk/embedded';
import React, { useEffect } from "react";
const KJUR = require("jsrsasign");
interface IParams {
meetingId: string;
}
const page = ({ params }: { params: IParams }) => {
const { meetingId } = params;
useEffect(() => {
let client: any;
const initializeMeeting = async () => {
try {
const ZoomEmbed = (await import('@zoomus/websdk/embedded')).default;
client = ZoomMtgEmbedded.createClient();
const meetingSDKElement = document.getElementById('meetingSDKElement');
client.init({
language: 'en-US',
zoomAppRoot: meetingSDKElement ? meetingSDKElement : undefined,
});
const iat = Math.round(new Date().getTime() / 1000) - 30;
const exp = iat + 60 * 60 * 2;
const Header = {
alg: "HS256",
type: "JWT",
};
const payload = {
sdkKey: process.env.NEXT_PUBLIC_SDK_KEY,
mn: +meetingId,
role: 1,
iat: iat,
exp: exp,
};
const sHeader = JSON.stringify(Header);
const sPayload = JSON.stringify(payload);
const meetingSignature = await KJUR.KJUR.jws.JWS.sign(
"HS256",
sHeader,
sPayload,
process.env.NEXT_PUBLIC_SDK_SECRET
);
client.join({
sdkKey: process.env.NEXT_PUBLIC_SDK_KEY,
signature: meetingSignature,
meetingNumber: +meetingId,
userName: 'Ravi gupta',
userEmail: 'ravi2611gupta@gmail.com',
password: `804939`,
tk: ''
});
} catch (error) {
console.log('--- Error inside useEffect ---> ', error);
}
};
initializeMeeting();
return () => {
if (client) {
console.log(client);
}
};
}, []);
return <div id='meetingSDKElement' className='w-full h-full p-32 bg-red-200'>
</div>
}
export default page