zaccl
Version:
The Zoom App Complete Connection Library, a project that handles everything required to build a zoom-integrated app.
137 lines (90 loc) • 6.87 kB
HTML
<html lang="en">
<head>
<meta charset="utf-8">
<title>Home - Documentation</title>
<script src="scripts/prettify/prettify.js"></script>
<script src="scripts/prettify/lang-css.js"></script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc.css">
<script src="scripts/nav.js" defer></script>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<input type="checkbox" id="nav-trigger" class="nav-trigger" />
<label for="nav-trigger" class="navicon-button x">
<div class="navicon"></div>
</label>
<label for="nav-trigger" class="overlay"></label>
<nav style="border-right: 2px solid #ccc; padding-bottom: 25px;" >
<h2><a style="font-size: 30px;" href="index.html">ZACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.cloudRecording.html">api.cloudRecording</a><ul class='methods'><li data-type='method'><a href="api.cloudRecording.html#listAccountRecordings">listAccountRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listMeetingRecordings">listMeetingRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listUserRecordings">listUserRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#recoverMeetingRecordings">recoverMeetingRecordings</a></li></ul></li><li><a href="api.group.html">api.group</a><ul class='methods'><li data-type='method'><a href="api.group.html#listGroupMembers">listGroupMembers</a></li></ul></li><li><a href="api.meeting.html">api.meeting</a><ul class='methods'><li data-type='method'><a href="api.meeting.html#addAltHost">addAltHost</a></li><li data-type='method'><a href="api.meeting.html#create">create</a></li><li data-type='method'><a href="api.meeting.html#delete">delete</a></li><li data-type='method'><a href="api.meeting.html#get">get</a></li><li data-type='method'><a href="api.meeting.html#getActivitiesReport">getActivitiesReport</a></li><li data-type='method'><a href="api.meeting.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.meeting.html#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.meeting.html#getTranscript">getTranscript</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastMeetingParticipants">listPastMeetingParticipants</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.webinar.html#getPollReport">getPollReport</a></li><li data-type='method'><a href="api.webinar.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
</nav>
<div id="main">
<section class="package">
<h3> </h3>
</section>
<section class="readme usertext">
<article><h1>The Zoom API, but simpler and more powerful</h1>
<p>This project is designed <em>by</em> educators <em>for</em> educators.</p>
<h1 style="display: flex; align-items: center;">
<div style="flex-grow: 1; height: 1px; background: #ccc; margin-right: 10px;">
</div>
<div>
Quickstart
</div>
<div style="flex-grow: 1; height: 1px; background: #ccc; margin-left: 10px;">
</div>
</h1>
<h2>1. Create an "api" instance</h2>
<p>Independently of the type of credentials you're using, you should include a Zoom hostname as env <code>ZOOM_HOST</code> or within the initialization function:</p>
<pre class="prettyprint source lang-ts"><code>import initZoomAPI from 'zaccl';
const api = initZoomAPI({
zoomHost: 'harvard.zoom.us',
...
});
</code></pre>
<p>If using a valid Zoom token, either include it in env as <code>ZOOM_TOKEN</code> or include it when initializing:</p>
<pre class="prettyprint source lang-ts"><code>import initZoomAPI from 'zaccl';
const api = initZoomAPI({
token: '<tokenHere>',
});
</code></pre>
<p>If using a JWT token, either include the key and secret as env variables <code>ZOOM_KEY</code> and <code>ZOOM_SECRET</code> or include them when initializing:</p>
<pre class="prettyprint source lang-ts"><code>import initZoomAPI from 'zaccl';
const api = initZoomAPI({
key: '<keyHere>',
secret: '<secretHere>',
});
</code></pre>
<p>If using server-to-server OAuth, either include the clientId, clientSecret, and accountId as env variables <code>ZOOM_CLIENT_ID</code>, <code>ZOOM_CLIENT_SECRET</code>, and <code>ZOOM_ACCOUNT_ID</code> or include them when initializing:</p>
<pre class="prettyprint source lang-ts"><code>import initZoomAPI from 'zaccl';
const api = initZoomAPI({
zoomHost: 'harvard.zoom.us',
accountId: '<accountId>',
clientId: '<clientId>',
clientSecret: '<clientSecret>',
});
</code></pre>
<h2>2. Call an endpoint function</h2>
<p>All endpoint functions are asynchronous, so we recommend using async/await syntax:</p>
<pre class="prettyprint source lang-ts"><code>const submissions = await api.meeting.create({
userId: 'someone@example.edu',
meetingObj: {
...
},
});
</code></pre></article>
</section>
</div>
<br class="clear">
<footer>
We use <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> and the <a href="https://github.com/clenemt/docdash">docdash</a> theme to generate our docs.
</footer>
<script>prettyPrint();</script>
<script src="scripts/polyfill.js"></script>
<script src="scripts/linenumber.js"></script>
</body>
</html>