"Joining fail" Error message, please help!

HI

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

Hey @nick1,

Can you share the error in the browser console so we can debug?

Also be sure to use JWT App Credentials for the API Key and Secret.

Thanks,
Tommy

Hey T

Yes i can if you can be so kind advice how?

Yes that is what i am using, from JWT

Thanks,
Nick

Hey @nick1,

Here is how you view the console:

There should be a more descriptive error message.

Thanks,
Tommy

Hi
I have the same problem
joining fail

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

Hi @rafayelyanarthur,

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?

Thanks

for now, I am trying to connect to a meeting and role is 0

Hey @rafayelyanarthur,

Please also make sure you are using a JWT App type for the API key and secret.

Thanks,
Tommy

Hi @tommy
I am using JWT App Type

Hi @rafayelyanarthur,

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 */

Then call the ZoomMtg.init function separately.

Let us know if this works.

Thanks

@Michael_Purnell thanks it works for me.
And another one question
how I can create a meeting
I know that I need to set role 1
what else I need to do ?

Hi @rafayelyanarthur,

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”.

1 - https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingcreate

Thanks