Error code 1 when creating zoom meeting via sdk

Description/Error
using the demo provided in github I change the role to be equal 1 to create a meeting i get this error

  1. {method: “join”, status: false, errorCode: 1, errorMessage: “Invalid signature.”, result: null}

  2. errorCode: 1

  3. errorMessage: “Invalid signature.”

  4. method: “join”

  5. result: null

  6. status: false

1 Like

Hey @abdelazizwaheed11, thanks for posting and using Zoom!

Are you passing in JWT App Credentials for the API key and secret?

Please share the code you are using to generate the signature so we can help.

Thanks,
Tommy

@tommy yes i’m passing api key and secret from my dashboard also the account is pro account
those keys are not real for privacy purpose

here is index.js file

(function(){

	console.log('checkSystemRequirements');
	console.log(JSON.stringify(ZoomMtg.checkSystemRequirements()));

    // it's option if you want to change the jssdk dependency link resources.
    // ZoomMtg.setZoomJSLib('https://source.zoom.us/1.6.0/lib', '/av'); // CDN version default
    // ZoomMtg.setZoomJSLib('https://jssdk.zoomus.cn/1.6.0/lib', '/av'); // china cdn option 
    // ZoomMtg.setZoomJSLib('http://localhost:9999/node_modules/zoomus-jssdk/dist/lib', '/av'); // Local version default
    ZoomMtg.preLoadWasm();

    ZoomMtg.prepareJssdk();
    // I changed api key and secret for privacy 
    var 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-Client-SDK/tutorial/generate-signature
     */
    var 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: 1
        };


        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: 'email@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);
            }
        });

    });

})();

Hey @abdelazizwaheed11,

What is the meeting number you are using? It must be a valid Zoom meeting number.

Can you try generating your signature from here instead:

Let me know if that works!

Thanks,
Tommy

@tommy i took Meeting not started!
as my reference,
can i create a zoom meeting using the sdk only .

Hey @abdelazizwaheed11,

What is the meetingID you are using?

You can’t create a meeting using the SDK, you can using the API.

You can however use your personal meeting number.

Try using your PMI.

Thanks,
Tommy

Hello @tommy I have created the Meeting using Create Meeting Endpoint, after that I am trying to join with the same meeting number returned from the response, it’s giving error: 1. errorMessage: “The meeting number is wrong.” . Meeting Id is
Please help it is urgent

Hi @sayeedshaikh09,

Can you post the results you see within developer tools console log so that we can take a closer look?

Thanks
Michael

Hi @michael_p.zoom the above issue got resolved thanks, I would like to ask I am using web SDK and I want utility where one has no option to share the video. Please help`

Hey @sayeedshaikh09,

Happy to hear you resolved the issue.

What are you trying to do? Hide the screen share button?

Just set screenShare: false in the ZoomMtg.init() function.

https://marketplace.zoom.us/docs/sdk/native-sdks/web/reference

Thanks,
Tommy

Hi, I am using the web sdk and I have an issue like the one which mentioned in the screenshot.
meeting Number is :

@tomybastin1

Can you show us a screenshot of the entered meeting ID at the top of the page? What happens when you click retry?
Also, looks like this meeting ID has a password. Be sure that the password is only alphanumeric.

Thanks

Hi @michael_p.zoom @tommy
Could you please check this issue? If I click retry and join again, there is the same error.

@petr.dudka.n - Can you DM me your Account Number, API Key/Secret & marketplace developer email? From there we can investigate.

@michael_p.zoom
I’m sending the api key/secret & developer email.
Api Key:

Thanks.
Petr

Hi, I am using the web sdk in my Angular 7 project and I have an issue like after zoom integration my Apps ngOnInit() method not working (only working on refresh each page). Is there any problem with Zoom in Angular7. I mentioned configuration in the screenshot

class-room.component.ts
import { Component, OnInit, Inject } from ‘@angular/core’;
import { ActivatedRoute } from ‘@angular/router’;
import { HttpErrorResponse } from ‘@angular/common/http’;
import { ClassRoomService } from ‘./class-room.service’;
import { DOCUMENT } from ‘@angular/common’;
import { ZoomMtg } from ‘@zoomus/websdk’;

ZoomMtg.preLoadWasm();
ZoomMtg.prepareJssdk();

@Component({
selector: ‘app-class-room’,
templateUrl: ‘./class-room.component.html’,
styleUrls: [’./class-room.component.scss’]
})
export class ClassRoomComponent implements OnInit {
signatureEndpoint = ‘http://localhost:4000
apiKey = ‘’
meetingNumber = 0
role = 0
leaveUrl = ‘’
userName = ‘’
userEmail = ‘’
passWord = ‘’
apiSecretKey = ‘’
studentId = ‘’
studentName = ‘’
constructor(@Inject(DOCUMENT) document,
private classRoomModel: ClassRoomService,
private route: ActivatedRoute,
) {}

ngOnInit() {
	this.studentId = this.route.snapshot.params.id;
	this.studentName = this.route.snapshot.params.name;
	console.log(this.studentId);
	this.checkIsActive();
	
	
	
}
checkIsActive() {
	document.getElementById('zmmtg-root').style.display = 'none';
	this.classRoomModel.getActiveClassOrNot(this.studentId).subscribe(res => {
		if(res.success){
			this.getConfigaration();
		}
	});
}
getConfigaration() {
	this.classRoomModel.getClassRoomSettings(this.studentId).subscribe(res => {
		let flg = 0,error="";
		if(res.apiKey){
			this.apiKey = res.apiKey;
			flg++;
		}
		if(res.apiSecretKey){
			this.apiSecretKey = res.apiSecretKey;
			flg++;
		}
		if(res.username){
			this.userName = this.studentName ;//res.username;
			flg++;
		}
		if(res.password){
			this.passWord = res.password;
			flg++;
		}
		if(res.mailId){
			this.userEmail = res.mailId;
			flg++;
		}
		if(res.meetingNumber){
			this.meetingNumber = res.meetingNumber;
			flg++;
		}
			
		if(flg == 6){
			this.openConferencing();
		}
		
	});
}

openConferencing() {

    var data = {
	  "meetingNumber":this.meetingNumber,
	  "role":this.role,
	  "apiKey":this.apiKey,
	  "apiSecret":this.apiSecretKey
	};
	this.classRoomModel.getSignature(data).subscribe(res => {
	  //getSignature = res.signature;
	  document.getElementById('zmmtg-root').style.display = 'block'
		
	  ZoomMtg.init({
	  leaveUrl: this.leaveUrl,
	  isSupportAV: true,
	  success: (success) => {
		console.log(success)

		ZoomMtg.join({
		  signature: res.signature,
		  meetingNumber: this.meetingNumber,
		  userName: this.userName,
		  apiKey: this.apiKey,
		  userEmail: this.userEmail,
		  passWord: this.passWord,
		  success: (success) => {
			console.log(success)
		  },
		  error: (error) => {
			console.log(error)
		  }
		})

	  },
	  error: (error) => {
		console.log(error)
	  }
	})
	}, (err: HttpErrorResponse) => {
	  console.log(err);
	});

};
}

Hi @michael_p.zoom @tommy
Have you checked with my api key and secret?

Thanks
Petr

Hey @petr.dudka.n,

Can you try creating a new meeting and joining again?

Thanks,
Tommy

Hey @tomybastin1,

Please see the Zoom Angular Web SDK sample app:

Thanks,
Tommy

Hey @tommy,
As per the instruction we integrated the sdk kit in ‘classroom.component.ts’.But after integration ,when the app started running ngOnInit() route rendering is not working.But after when we tried commenting import {ZoomMtg} from ‘@zoomus/websdk’; then the ngOnInit() method is properly working.