200 error when trying to join a meeting (role 0)


Description
Here’s the workflow I’m using for my app:

  1. A user (meeting owner) creates a meeting in zoom directly. Adds the meeting link, password in our system
  2. The meeting owner joins the meeting directly on Zoom Desktop
  3. 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:

  1. Attendees can join if I create the meeting with my account, which owns the App, or my within-account collaborators.
  2. 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

@attentiontag

You will need your application to be published and verified. Your users will not need to install anything from their side.

Hi @chunsiong.zoom
Thanks for your response. I just created a separated MeetingSDK app & awaiting domain approval to submit it. As I understand, once the App is published, the speakers then will not need add this app to use the functionality. Correct? Thanks

@attentiontag this is not just domain approval, you need the app to be approved and published.

This is under the submit section if you are using Meeting SDK App

If you are using General App, it is under Publish your app

Sure @chunsiong.zoom
What I meant was that I have the app details ready, but I am awaiting the domain’s approval before I can submit it for review and approval.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.