I am unable to join the meeting, and I have no idea what I am doing wrong. The JWT token is correct, and the meeting is able to start on one website. However, on another website where everything is the same, I am still encountering this error when i join the meeting. Also this error was not there few days ago when i was testing in localhost. Do I need to publish my app maybe? or I should be able to join without publishing
{type: 'JOIN_MEETING_FAILED', reason: 'Invalid Parameter', errorCode: 4003}
errorCode
:
4003
reason
:
"Invalid Parameter"
type
:
"JOIN_MEETING_FAILED"
[[Prototype]]
:
Object
I am using my zoom app version is 2.17.0
here is jwt token
[REDACTED]
[REDACTED IMAGE]
and here is the implementation
const client = ZoomMtgEmbedded.createClient();
var authEndpoint = `${process.env.REACT_APP_BASE_URL}/api/v1/zoom/authEndpoint`
var sdkKey = `${process.env.ZOOM_MEETING_SDK_KEY}`
// var meetingNumber = zoomData.id
// var passWord = zoomData.password
var role = 0
var userName = ''
var userEmail = ''
var registrantToken = ''
var zakToken = ''
function getSignature(zoomData) {
fetch(authEndpoint, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
meetingNumber: zoomData.id,
role: role
})
}).then(res => res.json())
.then(response => {
startMeeting(response.Data, zoomData)
console.log(response,"aaaaaaaaaa")
}).catch(error => {
console.error(error,"AAAAAA")
})
}
function startMeeting(signature, zoomData) {
let meetingSDKElement = document.getElementById('meetingSDKElement');
client.init({
debug: true,
zoomAppRoot: meetingSDKElement,
language: 'en-US',
customize: {
meetingInfo: ['topic', 'host', 'mn', 'pwd', 'telPwd', 'invite', 'participant', 'dc', 'enctype'],
toolbar: {
buttons: [
{
text: 'Custom Button',
className: 'CustomButton',
onClick: () => {
console.log('custom button');
}
}
]
}
}
});
client.join({
signature: signature,
sdkKey: sdkKey,
meetingNumber: zoomData.id,
password: zoomData.password,
userName: userName,
userEmail: userEmail,
tk: registrantToken,
zak: zakToken
})
and here I am showing my video
const client = ZoomMtgEmbedded.createClient();
var authEndpoint = `${process.env.REACT_APP_BASE_URL}/api/v1/zoom/authEndpoint`
var sdkKey = `${process.env.ZOOM_MEETING_SDK_KEY}`
// var meetingNumber = zoomData.id
// var passWord = zoomData.password
var role = 0
var userName = ''
var userEmail = ''
var registrantToken = ''
var zakToken = ''
function getSignature(zoomData) {
fetch(authEndpoint, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
meetingNumber: zoomData.id,
role: role
})
}).then(res => res.json())
.then(response => {
startMeeting(response.Data, zoomData)
console.log(response,"aaaaaaaaaa")
}).catch(error => {
console.error(error,"AAAAAA")
})
}
function startMeeting(signature, zoomData) {
let meetingSDKElement = document.getElementById('meetingSDKElement');
client.init({
debug: true,
zoomAppRoot: meetingSDKElement,
language: 'en-US',
customize: {
meetingInfo: ['topic', 'host', 'mn', 'pwd', 'telPwd', 'invite', 'participant', 'dc', 'enctype'],
toolbar: {
buttons: [
{
text: 'Custom Button',
className: 'CustomButton',
onClick: () => {
console.log('custom button');
}
}
]
}
}
});
client.join({
signature: signature,
sdkKey: sdkKey,
meetingNumber: zoomData.id,
password: zoomData.password,
userName: userName,
userEmail: userEmail,
tk: registrantToken,
zak: zakToken
})