Skip to content

Latest commit

 

History

History
62 lines (47 loc) · 1.72 KB

README.md

File metadata and controls

62 lines (47 loc) · 1.72 KB

zoomapi

NodeJS library for working with the Zoom API.

zoomapi provides server-side access to the Zoom APIs via JWT access tokens (deprecation scheduled for June 2023) or server-to-server OAuth. It's written completely in Typescript, and only has one dependency. Works on NodeJS version 8 and higher.

npm i @schoolhouse/zoomapi
# or
yarn add @schoolhouse/zoomapi

Usage

import zoomApi from '@schoolhouse/zoomapi';

// JWT app
const client = zoomApi({
  apiKey: process.NODE_ENV.ZoomApiKey,
  apiSecret: process.NODE_ENV.ZoomApiSecret,
  webhookSecretToken: process.NODE_ENV.webhookSecretToken
});
// or Server-to-Server OAuth app
const client = zoomApi({
  accountId: process.NODE_ENV.ZoomAccountId,
  oauthClientId: process.NODE_ENV.ZoomOAuthClientId,
  oauthClientSecret: process.NODE_ENV.ZoomOAuthClientSecret,
  webhookSecretToken: process.NODE_ENV.webhookSecretToken,
  /**
   * optional function called when access token is retrieved
   */
  onSetAccessToken: async (token) => {
    return await setToken(token);
  },
  /**
   * optional function to explicitly supply an access token,
   * instead of fetching a new one
   */
  onGetAccessToken: async () => {
    return await getToken();
  }
});

const users = await client.users.ListUsers();

API Progress

This library doesn't (yet) implement every API call. PRs are welcome and encouraged.

Tests

None yet.

Contributing

Pull requests are more than welcome! Please follow existing naming and style conventions, and correct any linting errors.

License

MIT