Zoomのビデオ通話を最短で動かしてみる。
準備
ZoomのApp MarketplaceでCreated Apps => JWTを選択し、API KeyとAPI Secretを取得する。
ソースコード
$apiKey
, $apiSecret
, $meetingNumber
などを変更し、以下のソースコードを PHPの動作する環境に設置してアクセスする。
Signature作成
<?php
$apiKey = '**********';
$apiSecret = '**********';
$meetingNumber = '0000000000';
$role = '0'; // 1 is host, 0 is participants
$time = time() * 1000 - 30000;
$data = base64_encode($apiKey . $meetingNumber . $time . $role);
$hash = hash_hmac('sha256', $data, $apiSecret, true);
$sig = $apiKey . "." . $meetingNumber . "." . $time . "." . $role . "." . base64_encode($hash);
$signature = rtrim(strtr(base64_encode($sig), '+/', '-_'), '=');
?>
ページ
<html lang="ja">
<head>
<link type="text/css" rel="stylesheet" href="https://source.zoom.us/1.7.5/css/bootstrap.css" />
<link type="text/css" rel="stylesheet" href="https://source.zoom.us/1.7.5/css/react-select.css" />
</head>
<body>
<script src="https://source.zoom.us/1.7.6/lib/vendor/react.min.js"></script>
<script src="https://source.zoom.us/1.7.6/lib/vendor/react-dom.min.js"></script>
<script src="https://source.zoom.us/1.7.6/lib/vendor/redux.min.js"></script>
<script src="https://source.zoom.us/1.7.6/lib/vendor/redux-thunk.min.js"></script>
<script src="https://source.zoom.us/1.7.6/lib/vendor/jquery.min.js"></script>
<script src="https://source.zoom.us/1.7.6/lib/vendor/lodash.min.js"></script>
<script src="https://source.zoom.us/zoom-meeting-1.7.6.min.js"></script>
<script>
ZoomMtg.preLoadWasm();
ZoomMtg.prepareJssdk();
ZoomMtg.setZoomJSLib('https://dmogdx0jrul3u.cloudfront.net/1.7.6/lib', '/av');
ZoomMtg.init({
debug: true,
leaveUrl: 'https://xxx.xxx/leave.php',
isSupportAV: true,
success: function() {
ZoomMtg.join({
signature: '<?php echo $signature; ?>',
apiKey: '<?php echo $apiKey; ?>',
meetingNumber: <?php echo $meetingNumber; ?>,
userName: 'name',
userEmail: '***@gmail.com',
passWord: '',
error(res) {
console.log(res);
}
});
}
});
</script>
</body>
</html>