Skip to content

ummartoor/create-zoom-meeting-in-node.js

Repository files navigation

create-zoom-meeting-in-node.js (Server-to-Server OAuth)

Server-to-Server OAuth

This project provides an API for scheduling Zoom meetings. It includes functionality for generating and managing Zoom OAuth tokens and creating meetings using the Zoom API.

Table of Contents

Features

  • Generate and manage Zoom OAuth tokens.
  • Create Zoom meetings using the Zoom API.
  • Handle token expiration and regeneration automatically.

Prerequisites

  • Node.js
  • MongoDB(incase you want to save the meeting details)

required packages

axios (npm i axios) qs (npm i qs)

Installation

  1. Clone the repository:
    git clone [https://github.com/your-username/zoom-meeting-scheduler.git](https://github.com/ummartoor/create-zoom-meeting-in-node.js.git)
    cd create-zoom-meeting-in-node.js

##ZOOM Go to zoom marketplace and

Copy the keys and create a folder name "config" and in that create a file config.env and past your keys there with the name provided below. image image image image Select scope of your need image Active the app image

Configuration

  1. Create a .env file in the root directory and add the following environment variables:

    PORT=5000
    ZOOM_OAUTH_ENDPOINT=https://zoom.us/oauth/token
    ZOOM_CLIENT_ID=your_zoom_client_id
    ZOOM_CLIENT_SECRET=your_zoom_client_secret
    ZOOM_ACCOUNT_ID=your_zoom_account_id
    MONGO_URI=your_mongodb_connection_string
  2. The API will be available at http://localhost:5000.

API Endpoints

  • POST /api/meeting: Create a new Zoom meeting.

Create a Zoom Meeting

Endpoint: POST /api/meeting

Request Body:

{
  "topic": "Meeting Topic",
  "start_time": "2023-06-05T10:00:00Z",
  "duration": 60,
  "agenda": "Meeting Agenda"
}

Response:

You will get a join meeting link just click on that to join

or you can use that link on front end to make a call for the user

  • 200 OK on success:
    {
      "success": true,
      "status": 200,
      "message": "Meeting is created successfully",
      "data": {
        "id": "meeting_id",
        "topic": "Meeting Topic",
        "start_time": "2023-06-05T10:00:00Z",
        "duration": 60,
        "agenda": "Meeting Agenda",
        // Other meeting details
      }
    }
    
  • 400 Bad Request if there's an error in creating the meeting:
    {
      "success": false,
      "status": 400,
      "message": "Error, In creating the meeting",
      "data": {}
    }
  • 500 Internal Server Error if an internal error occurs:
    {
      "success": false,
      "status": 500,
      "error": "Internal server error",
      "message": "An error message"
    }

Contributing

Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.

License

This project is licensed under the MIT License. See the LICENSE file for details.


Feel free to customize this README file according to your project's specifics. If you have any questions or need further assistance, don't hesitate to reach out.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published