I can’t seem to be able to join the meetings scheduled from my paid account, when i
insert the ID meeting on the “meetings_required” field, it gives me the ‘joining fail’ message.
Error
when i input the meeting number from my paid account on the lading page it gives me a dialog box with the message ‘joining fail’
Which App Type (OAuth / Chatbot / JWT / Webhook)?
Its an API call from my lading page , i am assuming it could be JWT
Screenshots (If applicable)
Please see the screenshot attached , thanks
I am trying to join a real meeting but always get joining fail
I am using JWT App Credentials
this is my index.js
(function(){
console.log('checkSystemRequirements');
console.log(JSON.stringify(ZoomMtg.checkSystemRequirements()));
// it's option if you want to change the WebSDK dependency link resources. setZoomJSLib must be run at first
// if (!china) ZoomMtg.setZoomJSLib('https://source.zoom.us/1.7.2/lib', '/av'); // CDN version default
// else ZoomMtg.setZoomJSLib('https://jssdk.zoomus.cn/1.7.2/lib', '/av'); // china cdn option
// ZoomMtg.setZoomJSLib('http://localhost:9999/node_modules/@zoomus/websdk/dist/lib', '/av'); // Local version default, Angular Project change to use cdn version
ZoomMtg.preLoadWasm();
ZoomMtg.prepareJssdk();
var API_KEY = 'API_KEY ';
/**
* NEVER PUT YOUR ACTUAL API SECRET IN CLIENT SIDE CODE, THIS IS JUST FOR QUICK PROTOTYPING
* The below generateSignature should be done server side as not to expose your api secret in public
* You can find an eaxmple in here: https://marketplace.zoom.us/docs/sdk/native-sdks/web/essential/signature
*/
var API_SECRET = 'API_SECRET ';
document.getElementById('join_meeting').addEventListener('click', function(e){
e.preventDefault();
if(!this.form.checkValidity()){
alert("Enter Name and Meeting Number");
return false;
}
var meetConfig = {
apiKey: API_KEY,
apiSecret: API_SECRET,
meetingNumber: parseInt(document.getElementById('meeting_number').value),
userName: document.getElementById('display_name').value,
passWord: "",
leaveUrl: "https://zoom.us",
role: 0
};
var signature = ZoomMtg.generateSignature({
meetingNumber: meetConfig.meetingNumber,
apiKey: meetConfig.apiKey,
apiSecret: meetConfig.apiSecret,
role: meetConfig.role,
success: function(res){
console.log(res.result);
ZoomMtg.init({
leaveUrl: 'http://www.zoom.us',
isSupportAV: true,
success: function () {
ZoomMtg.join(
{
meetingNumber: meetConfig.meetingNumber,
userName: meetConfig.userName,
signature: signature,
apiKey: meetConfig.apiKey,
userEmail: 'test@gmail.com',
passWord: meetConfig.passWord,
success: function(res){
$('#nav-tool').hide();
console.log('join meeting success');
},
error: function(res) {
console.log(res);
}
}
);
},
error: function(res) {
console.log(res);
}
});
}
});
});
})();
And also I want to host a meeting in my app not only join, does I need a pro version for that?
thanks
To start a meeting as a host change the role from 0 to 1. Also, when you try to join a meeting make sure to take out the dashes when entering the meeting.
Meeting ID 123-45-678 -> 12345678
If you’re still seeing the error can you post a screenshot of what the console shows in the developer tools?
Looks like you need to close the ZoomMtg.generateSignature method. Right now you have the Zoom.init method called after the success.
/* Start of function */
var signature = ZoomMtg.generateSignature({
meetingNumber: meetConfig.meetingNumber,
apiKey: meetConfig.apiKey,
apiSecret: meetConfig.apiSecret,
role: meetConfig.role,
success: function(res){
console.log(res.result);
}
});
/* End of function */
You can only create a meeting using our REST APIs[1]. For setting the role, that is only needed if you need to host a meeting “role 1” or join a meeting as an attendee “role 2”.