Description
If have used google for some hours to find a solution. I’ve testet with a password protected meeting (users can join anytime option is active) and with an webinar, with the same progress.
In the source code the api and meeting data are missing for privacy.
Error
I got no error messages. My problem is the permanently “Joining Meeting” (see screenshot).
Which Web Client SDK version?
1.9.1
Screenshots
Device (please complete the following information):
- Device: MacBook Air M1
- OS: macOS Big Sur 11.3
- Browser: Chrome
- Browser Version 90.0.4430.85 (Offizieller Build) (arm64)
Source code
<?php
$api_key = 'xxx';
$api_secret = 'xxx';
$meeting_number = 000; // Meeting
//$meeting_number = 000; // Webinar
$role = 0;
$version = '1.9.1';
$pw = '000'; // Meeting
//$pw = ''; // Webinar
function generate_signature($api_key, $api_secret, $meeting_number, $role)
{
date_default_timezone_set("UTC");
$time = time() * 1000 - 30000; //time in milliseconds (or close enough)
$data = base64_encode($api_key . $meeting_number . $time . $role);
$hash = hash_hmac('sha256', $data, $api_secret, true);
$_sig = $api_key . "." . $meeting_number . "." . $time . "." . $role . "." . base64_encode($hash);
return rtrim(strtr(base64_encode($_sig), '+/', '-_'), '=');
}
$sig = generate_signature($api_key, $api_secret, $meeting_number, $role);
?>
<!doctype html>
<html lang="de-DE">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Zoom dev</title>
<link type="text/css" rel="stylesheet" href="//source.zoom.us/1.9.1/css/bootstrap.css" />
<link type="text/css" rel="stylesheet" href="//source.zoom.us/1.9.1/css/react-select.css" />
</head>
<body>
<div id="zmmtg-root"></div>
<div id="aria-notify-area"></div>
<script src="//source.zoom.us/1.9.1/lib/vendor/react.min.js"></script>
<script src="//source.zoom.us/1.9.1/lib/vendor/react-dom.min.js"></script>
<script src="//source.zoom.us/1.9.1/lib/vendor/redux.min.js"></script>
<script src="//source.zoom.us/1.9.1/lib/vendor/redux-thunk.min.js"></script>
<script src="//source.zoom.us/1.9.1/lib/vendor/lodash.min.js"></script>
<script src="//source.zoom.us/zoom-meeting-1.9.1.min.js"></script>
<script>
ZoomMtg.setZoomJSLib('https://source.zoom.us/1.9.1/lib', '/av');
ZoomMtg.preLoadWasm();
ZoomMtg.prepareWebSDK();
ZoomMtg.init({
leaveUrl: 'https://zoom.us',
isSupportAV: true,
success: function(res1) {
ZoomMtg.join({
meetingNumber: <?= $meeting_number ?>,
userName: 'Test User',
userEmail: 'test@domain.com',
signature: '<?= $sig ?>',
apiKey: '<?= $api_key ?>',
passWord: '<?= $pw ?>',
role: <?= $role ?>,
success: function(res2) {
console.log('Join Success: ' + res2);
},
error: function(res2) {
console.log('Join Error: ' + res2);
}
});
},
error: function(res1) {
console.log('Init Error: ' + res1);
}
});
</script>
</body>
</html>