Description
Here’s the workflow I’m using for my app:
- A user (meeting owner) creates a meeting in zoom directly. Adds the meeting link, password in our system
- The meeting owner joins the meeting directly on Zoom Desktop
- Meeting attendees join via our App that embeds the Zoom Meeting Client Embedded. The Attendees are not expected to have the App installed - they are joining in with role 0 (member). The Zoom meeting client uses client ID & Signature for an General App (User scoped) we have created on Zoom. The app is not yet published on the marketplace. Apps Scopes are attached in the screenshot.
Now, here’s the issue we are facing:
- Attendees can join if I create the meeting with my account, which owns the App, or my within-account collaborators.
- If I create the meeting with any other account, they are not able to join - the join fails - error
{type: 'JOIN_MEETING_FAILED', reason: 'Fail to join the meeting.', errorCode: 200}
We want our users to be able to create a meeting & have their members join from our embedded web client without installing our App. Is it possible - and if so, how can it be made possible?
Thanks
Browser Console Error
{type: 'JOIN_MEETING_FAILED', reason: 'Fail to join the meeting.', errorCode: 200}
Which Web Meeting SDK version? 3.1.6
Meeting SDK Code Snippets
const ZoomMeeting = () => {
useEffect(() => {
// Meeting number 21
const m = {
meetingNumber: '83334791592',
password: 'k2DKNQ',
userName: 'Learner',
apiKey: 'uD1JeTKPQ3nX1CPMwgqjA',
apiSecret: 'redacted'
};
const signature = generateSDKSignature({sdkKey: m.apiKey, sdkSecret: m.apiSecret, meetingNumber: m.meetingNumber, role: 0});
const client = ZoomMtgEmbedded.createClient();
console.log("In zoom useeffect");
const meetingSDKElement = document.getElementById('zmmtg-root') || undefined;
if (meetingSDKElement) {
client.init({
zoomAppRoot: meetingSDKElement, language: 'en-US', debug: true
}).then(() => {
client.join({
sdkKey: m.apiKey,
signature: signature,
meetingNumber: m.meetingNumber,
password: m.password,
userName: m.userName,
debug: true,
}).then(() => {
console.log("Meeting joined");
}).catch((err) => {
console.log(err);
})
}).catch((err) => {
console.error('Error joining the meeting:', error);
});
} else {
console.log("Zoom meeting element not found");
}
}, []);
return <div id="zmmtg-root">Zoom meeting will come here</div>;
};
export default ZoomMeeting;```
**To Reproduce(If applicable)**
Run the above code in a React Nextjs app.
**Screenshots**
![Screenshot 2024-03-08 at 11.37.10 PM|690x427](upload://8IGXDqxxfhc41gHNM0yUMiWXAK4.png)
**Troubleshooting Routes**
Factored out the main Zoom javascript into a single file as above to test, but still get the error.
**Device:**
- Device: Macbook Pro
- OS: Ventura 13.3
- Browser: Chrome
- Browser Version: 122.0.6261.94