ZOOM SDK not allowing users to see the webinar

Hello ZOOM,

We are using the WEB SDK 1.8.6 to put users directly inside our webinars without any login/registre screen - as those users are already logged in at our platform.

Whenever they got at the webinar screen with the zoom sdk, they are able to see ZOOM SDK loaded but the screen stuck in ‘dark’ mode.

See the image bellow:

We are using an enterprise account, I mean, is not a free account.

What could be the cause of this problem?

Hi @rcbernardino,

Thanks for reaching out about this, and happy to help take a closer look.

Can you please share a screenshot of your browser console and any associated errors you’re seeing there when your participants get this screen? If you could also share the signature for the meeting, this will help to debug.

Thanks!
Will

Hello Will, thanks a lot for your response. Please, find attached 2 prints-screens from our console with the error messages, but we are following all the API instructions.

I can see that we have a ‘moments.js’ error but I do not know if this have some relation with zoom, and an error with the email object, but we are enconding it like zoom needs (encode64).

Please, take a look to try to give us a light?

Regards

Here follows the 2nd print-screen:

Regards,

And this is our piece of code (javascript with php) that generates all the necessary variables to the built the SDK:

var zapi = ‘XXXXXXXXXXXXXXXXXXXXXX’;
var zi= ‘94724263038’;
var zpas = ‘MzFlN3Yzejg3bFZReEVxMmxyRjA2dz09’;
var uname = ‘RODRIGO BERNAR’;
var umail = ‘rodrigo@agenciabernardino.com.br’;
var zredirUrl = ‘www.uol.com.br’;
var az = ‘NWJOWWpObWFUbUd4YkJpbkhIMEdlZy45NDcyNDI2MzAzOC4xNjEzMTYwOTE2MDAwLjAuK3ZZNm83OUwrU2pPM3pMWFJTVG5xMFFDUnUzblhKWmgzYmU5OU5GVjFTdz0’;

Is there anything wrong with our signature (var ‘az’) or user e-mail encode?

Hey @rcbernardino,

Thank you for providing additional information. Looking at the error you’re getting, it looks like the email is HTML encoded. Is this something that you’re doing in code or is that just how the error comes through?

If possible, please provide a code snippet of how you’re calliing the join() function.

Thanks,
Max

Hello Max, thank you for your answer. I think we removed every encoded tag from email, it’s output like this way that I’ved showed to you on the console output.

Please, find below the code that constructs the function:

<?php $time = time()*1000; $data = base64_encode($secrets['zapi'] . $zoom_id . $time . '0'); $hash = hash_hmac('sha256', $data, $secrets['zosc'], true); $_sig = $secrets['zapi'] . "." . $zoom_id . "." . $time . "." . 0 . "." . base64_encode($hash); $_sig = rtrim(strtr(base64_encode($_sig), '+/', '-_'), '='); ?> <?php } ?>

And please, find below our zoom-helper.js code:

$(document).ready(function(){

console.log('checkSystemRequirements');
console.log(JSON.stringify(ZoomMtg.checkSystemRequirements()));

ZoomMtg.setZoomJSLib('https://source.zoom.us/1.8.6/lib', '/av'); 

ZoomMtg.preLoadWasm();
ZoomMtg.prepareJssdk();

var zoomMeeting = document.getElementById("zmmtg-root");


var meetConfig = {
    apiKey: zapi,
    meetingNumber: zi,
	userName: uname,
	userEmail: umail,
	passWord: zpas,
    signature: az,
    error(res) {
        console.log("Joining meeting Error");
        console.dir(res);
    },
    success() {
        console.log("Success");
    }
};

ZoomMtg.init({
    leaveUrl: zredirUrl,
    isSupportChat: false,
    isSupportQA: false,
    isLockBottom: false,
    success: function (success) {
        console.log("Init Success ", success);
        console.dir(meetConfig);
        ZoomMtg.join(meetConfig);
    }
});

});

Hey @rcbernardino,

Thank you for providing additional information. I’m not seeing anything that would cause an issue here. I would make sure that the webinar you’re hosting was created by the same account that the JWT credentials are from.

If that doesn’t help, do you see the same issue when you join this webinar from the Sample Web App?

Thanks,
Max

Hello MaxM and Zoom Team. Thank you for the support.

We are using the 1.8.6 verision of the web sdk and we still experiencing the same problem. Please, take a look on our console most recent print-screen:

This is happening for all of our users that try to enter at our webinars.

Do you have a clue on this error?

This is our php script that built our SDK and calls the join method:

<?php
$time = time()*1000;
$data = base64_encode($secrets['zapi'] . $zoom_id . $time . '0');
$hash = hash_hmac('sha256', $data, $secrets['zosc'], true);
$_sig = $secrets['zapi'] . "." . $zoom_id . "." . $time . "." . 0 . "." . base64_encode($hash);
$_sig = rtrim(strtr(base64_encode($_sig),'+/','-_'),'=');
?>
<script type="text/javascript">
var zapi = '<?php echo $secrets['zapi']; ?>';
var zi= '<?php echo $zoom_id; ?>';
var zpas = '<?php echo $zoom_pass; ?>';
var uname = '<?php echo $pid_name; ?>';
var umail = '<?php echo rtrim(strtr(base64_encode($pid_email),'+/','-_'),'='); ?>';
var zredirUrl = 'step-walkin?t=<?php echo $t; ?>';
var az = '<?php echo $_sig; ?>';
</script>
<script src="https://source.zoom.us/1.8.6/lib/vendor/react.min.js"></script>
<script src="https://source.zoom.us/1.8.6/lib/vendor/react-dom.min.js"></script>
<script src="https://source.zoom.us/1.8.6/lib/vendor/redux.min.js"></script>
<script src="https://source.zoom.us/1.8.6/lib/vendor/redux-thunk.min.js"></script>
<script src="https://source.zoom.us/1.8.6/lib/vendor/lodash.min.js"></script>
<script src="https://source.zoom.us/zoom-meeting-1.8.6.min.js"></script>
<script src="./js/zoom-helper.js?id=<?php echo rand(); ?>"></script>
<?php } ?>

$pid_name and $pid_email are strings that are filled with user’s name and email (the email is php base64 encoded). So, after that, we got this error screen (pretty similar to the above one):

Please, find attached below a print-screen from our console with object init and the object join.

Signature: “NWJOWWpObWFUbUd4YkJpbkhIMEdlZy45Nzk0MzE2NTkyNy4xNjE0MDI4NjM4MDAwLjAuSjFlNWFvVHFXNnVreUh3VHI5L3VPNHl6NkpNRHVkNWJ4TFNtRTZrODRROD0”

Hey @rcbernardino,

Thank you for reaching out to the Zoom Developer Forum.

It looks like this is happening because you are base64 encoding the email. Instead the Web SDK requires that you pass a standard string that contains an unencoded email.

Please see our Sample Web App for an example of how this can be done. Let me know if you have any questions.

Thanks,
Max