{type: 'JOIN_MEETING_FAILED', reason: 'Fail to join the meeting.', errorCode: 200} errorCode : 200 reason : "Fail to join the meeting." type : "JOIN_MEETING_FAILED" [[Prototype]] : Object

import React from ‘react’;
import ‘./App.css’;
import ZoomMtgEmbedded from ‘@zoom/meetingsdk/embedded’;

function App() {

const client = ZoomMtgEmbedded.createClient();

var authEndpoint = ‘http://localhost:4000
var sdkKey = ‘uYWmXG1kRvCOA6oQyJhIA’
var meetingNumber = 82142336392
var passWord = ‘jFsq60’
var role = 1
var userName = ‘React’
var userEmail = ‘ajay.blackwolve@gmail.com’
// var registrantToken = ‘’
// var zakToken = ‘’

function getSignature(e) {
e.preventDefault();

fetch(authEndpoint, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    meetingNumber: meetingNumber,
    role: role
  })
}).then(res => res.json())
.then(response => {
  startMeeting(response.signature)
}).catch(error => {
  console.error(error)
})

}

function startMeeting(signature) {

let meetingSDKElement = document.getElementById('meetingSDKElement');

client.init({zoomAppRoot: meetingSDKElement, language: 'en-US', patchJsMedia: true}).then(() => {
  client.join({
    signature: signature,
    sdkKey: sdkKey,
    meetingNumber: meetingNumber,
    password: passWord,
    userName: userName,
    userEmail: userEmail,
    // tk: registrantToken,
    // zak: zakToken
  }).then(() => {
    console.log('joined successfully')
  }).catch((error) => {
    console.log(error)
  })
}).catch((error) => {
  console.log(error)
})

}

return (



Zoom Meeting SDK Sample React

    {/* For Component View */}
    <div id="meetingSDKElement">
      {/* Zoom Meeting SDK Component View Rendered Here */}
    </div>

    <button onClick={getSignature}>Join Meeting</button>
  </main>
</div>

);
}

export default App;

@ajay.blackwolve can you share the JWT Token / Auth Signature you are using?

Have you fixed the issue.
I face the same issue when join other people meeting (other people create a meeting then I join it)
The issue doesn’t happen when I create a meeting and use that number.
@chunsiong.zoom Could you please help with that.
I’m using the component view from sample meetingsdk-react-sample and didn’t change anything.
This is my config code

@nmaddp199599 you might want to start a new thread as this might not be the same issue,

If you have problem joining external meetings, there is a high chance they this is due to unpublishing general / meeting SDK app.

General Apps or Meeting SDK Apps which are unpublished can only join meeting which are created by internal users. Any attempts to join externally created meeting will fail.

what do you mean by internal user?

oh I see, only the users with email registered in user management would be able to join meetings created by one of the users there. It should have been made clear in the documentation.

So @chunsiong.zoom what about joining other people’s meeting? What is required for this to work?

@chunsiong.zoom I don’t think the internal user is a problem.

I cloned the app from here github_com/zoom/sample-app-web.git and set my app’s credential in the code. Now, I have created the meeting from one account, and I could join this meeting without supplying any information about the attendee.
That mean using the same credential, if I use the token generation code from github_com/zoom/meetingsdk-auth-endpoint-sample/blob/master/src/index.js then it doesn’t work.
However if I use the code from here where the token is generated by the sdk then it works?

I compared 2 payloads and they look very similar. I can’t explain why.

Can you explain it?

@wakandan can you share the 2 tokens?

When using the web generated token, you need to make sure that the HTTP POST is done correct to the web service.

If you want to join other people’s meeting, you will need to publishing your General App or Meeting SDK App.

For anybody who might stumble into this, I had this same problem and the cause ended up being that the participant email has a + character in it, and the zoom library does not like it. I’m URI escaping it for now.