{ "type": "JOIN_MEETING_FAILED", "reason": "Fail to join the meeting.", "errorCode": 200 }

Description I am encountering a JOIN_MEETING_FAILED error with errorCode: 200 when attempting to join a Zoom meeting using the Web Meeting SDK. Despite following the SDK documentation and ensuring all parameters are correctly configured, the error persists.

Browser Console Error

json

{
  "type": "JOIN_MEETING_FAILED",
  "reason": "Fail to join the meeting.",
  "errorCode": 200
}

Which Web Meeting SDK version? @zoomus/websdk: ^2.18.3

Meeting SDK Code Snippets Here is the relevant code causing the error:

javascript

import React, { useState } from 'react';
import Modal from 'react-modal';
import ZoomMtgEmbedded from '@zoomus/websdk/embedded';
import axios from 'axios';

Modal.setAppElement('#root');

const ZoomSession = () => {
  const [modalIsOpen, setModalIsOpen] = useState(false);
  const client = ZoomMtgEmbedded.createClient();

  const sdkKey = 'I88IuIk9RxCkFj6FsHrBCA';
  const meetingNumber = '84481362651';
  const passWord = '5fgt6U';
  const role = 0;
  const userName = 'f';
  const userEmail = '';
  const registrantToken = '';
  const zakToken = '';

  const generateSignature = async (meetingNumber, role) => {
    try {
      const response = await axios.post(`${process.env.REACT_APP_BASE_URL}/api/v1/zoom/authEndpoint`, {
        meetingNumber: meetingNumber,
        role: role
      });
      return response.data.signature;
    } catch (error) {
      console.error('Error generating signature:', error);
      throw error;
    }
  };

  const getSignature = async (e) => {
    e.preventDefault();
    try {
      const signature = await generateSignature(meetingNumber, role);
      startMeeting(signature);
    } catch (error) {
      console.error('Error getting signature:', error);
    }
  };

  const startMeeting = (signature) => {
    const meetingSDKElement = document.getElementById('meetingSDKElement');
    client.init({
      debug: true,
      zoomAppRoot: meetingSDKElement,
      language: 'en-US',
      patchJsMedia: true,
      leaveOnPageUnload: true
    }).then(() => {
      client.join({
        signature: signature,
        sdkKey: sdkKey,
        meetingNumber: meetingNumber,
        password: passWord,
        userName: userName,
        userEmail: userEmail,
        tk: registrantToken,
        zak: zakToken
      }).then(() => {
        console.log('Joined meeting successfully');
      }).catch((error) => {
        console.error('Error joining meeting:', error);
      });
    }).catch((error) => {
      console.error('Error initializing Zoom client:', error);
    });
  };

  return (
    <div className="App">
      <main>
        <h1>Zoom Meeting</h1>
        <button onClick={() => setModalIsOpen(true)}>Join Meeting</button>
        <Modal
          isOpen={modalIsOpen}
          onRequestClose={() => setModalIsOpen(false)}
          contentLabel="Zoom Meeting"
          style={{
            content: {
              top: '50%',
              left: '50%',
              right: 'auto',
              bottom: 'auto',
              marginRight: '-50%',
              transform: 'translate(-50%, -50%)',
              width: '80%',
              height: '80%'
            }
          }}
        >
          <div id="meetingSDKElement"></div>
          <button onClick={getSignature}>Start Meeting</button>
        </Modal>
      </main>
    </div>
  );
};

export default ZoomSession;

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZGtLZXkiOiJJODhJdUlrOVJ4Q2tGajZGc0hyQkNBIiwibW4iOiI4NDQ4MTM2MjY1MSIsInJvbGUiOjAsImlhdCI6MTcyMTM3MjU2OSwiZXhwIjoxNzIxNDQ0NTY5LCJhcHBLZXkiOiJJODhJdUlrOVJ4Q2tGajZGc0hyQkNBIiwidG9rZW5FeHAiOjE3MjE0NDQ1Njl9.5IiscW75oRQACUtXbKja5OZr97i_glVcW589sV4RaB4

GpL23CzMZvb1MF8yPw88MhTEVlFDFE8z - client secret

@zoom312 this meeting belongs to an external user, you cannot join an external meeting with Meeting SDK unless your Meeting SDK App is published.

I created this meeting using server-to-server authentication from same account. Can you explain the difference between external and internal users? and how do I create internal users

@zoom312
The creator of this meeting is not a user under the tenant of the developer.

How do I make this internal?

Goto zoom.us, users tab and add users.

You will need minimally pro account to add users in your tenant.

The meetings which these users create are considered internal

Lets say I created a meeting through Server-To-Server OAuth and used this api
`https://api.zoom.us/v2/users/${userId}/meetings`
where I used a user from my app to create the meeting link, would you say that this meeting was created by an internal user?

@zoom312 only if the user is under your tenant, then this will work

As you can see the User is already added in the user list and same email can be seen when meeting is created.

: 
"2024-07-22T10:17:02Z"
duration
: 
60
encrypted_password
: 
"Azvqzu3AnQFfpqxJtKY1uEMbFEYvbK.1"
h323_password
: 
"066157"
host_email
: 
"zoom3@mastersunion.org"
host_id
: 
"XuF6p54KQL6-oqJ5n1MTqw"
id
: 
92503957879
join_url
: 
"https://zoom.us/j/92503957879?pwd=Azvqzu3AnQFfpqxJtKY1uEMbFEYvbK.1"
password
: 
"066157"
pre_schedule
: 
false```

My motive is to create meeting and add my student who are in my class as registrants or participants. Whats happening is I am able to create meeting but students are not able to join in meeting sdk

Am I missing something regarding how meetings are created? please let me know asap.

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