Description
The Basic Problem is, that i get an error response saying “The meeting number is wrong”. It is not. What did i do and why am i sure that it is not wrong?
First of all, i tested your Local Sample Web App with the same Meeting-Number, Password, Api-Key and Api-Secret. That setup works, therefore the meeting number can not be wrong.
I followed your Documentation on how to create an App (https://marketplace.zoom.us/docs/sdk/native-sdks/web/build). In my App i therefore inserted the following lines into the <head>
tag of my index.html
<!-- import local css for #zmmtg-root -->
<link type="text/css" rel="stylesheet" href="node_modules/@zoomus/websdk/dist/css/bootstrap.css" />
<link type="text/css" rel="stylesheet" href="node_modules/@zoomus/websdk/dist/css/react-select.css" />
Since it is a Vue-Project, i created an component that is rendered when the app is started. The important part is in the script tag, therefore i only post this part:
<script lang="ts">
import Vue from "vue";
import { ZoomMtg } from "@zoomus/websdk";
export default Vue.extend({
data() {
return {
text: "Kevins workbench",
buttonText: "print"
};
},
created() {
// this should probably go into the main.ts
ZoomMtg.setZoomJSLib("node_modules/@zoomus/websdk/dist/lib", "/av");
ZoomMtg.preLoadWasm();
ZoomMtg.prepareJssdk();
const meetConfig = {
apiKey: "<my-key>",
china: false,
lang: "en-US",
leaveUrl: "http://localhost:8082",
meetingNumber: "<my-meeting-number>",
passWord: "<my-password>",
role: 0,
userName: "Mc Testman",
userEmail: ""
};
this.getSignature(meetConfig);
},
methods: {
printMeeting(): void {
const zoomMeeting = document.getElementById("zmmtg-root");
console.log(zoomMeeting);
},
getSignature(meetConfig: {
apiKey: string;
meetingNumber: string;
leaveUrl: string;
userName: string;
userEmail: string;
passWord: string;
role: number;
}): void {
// eslint-disable-next-line no-void
void fetch("<my-heroku-url>", {
method: "POST",
body: JSON.stringify({ meetingData: meetConfig })
})
.then((result) => result.text())
.then((response) => {
const realResponse = JSON.parse(response) as { signature: string };
console.log(`meetingNumber: ${meetConfig.meetingNumber}`);
ZoomMtg.init({
leaveUrl: meetConfig.leaveUrl,
isSupportAV: true,
success: function () {
ZoomMtg.join({
meetingNumber: meetConfig.meetingNumber,
userName: meetConfig.userName,
signature: realResponse.signature,
apiKey: meetConfig.apiKey,
userEmail: meetConfig.userEmail,
// password optional; set by Host
passWord: meetConfig.passWord,
success: (res: string) => {
console.log("join meeting success");
console.log("get attendeelist");
ZoomMtg.getAttendeeslist({});
ZoomMtg.getCurrentUser({
success: function (res: { result: { currentUser: string } }) {
console.log("success getCurrentUser", res.result.currentUser);
}
});
},
error(res: string) {
console.log(res);
}
});
}
});
});
}
}
});
</script>
Error
{
"method": "join",
"status": false,
"result": "The meeting number is wrong.",
"errorCode": 3706
}
Which Web Client SDK version?
1.9.1
To Reproduce(If applicable)
- start an heroku signature creator server, just like you describe in your documentation
- Create an vue2 typescript project
- put the important css lines into the index.html
- create a component that has in its script tag the upper code
- replace
<my-key>
,<my-meeting-number>
,<my-password>
and<my-heroku-url>
with sample values - start the app (by
npm serve
or something familiar) - open it in firefox, open the console and see the error message
Screenshots
If applicable, add screenshots to help explain your problem.
Device (please complete the following information):
- Device: Macbook Pro
- OS: macOS Big Sur Version 11.2.3
- Browser: Firefox
- Browser Version 87.0
Additional context
no additional context
It would be very nice to hear from you.
Regards,
Kevin