Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cynegeirus/dotnet-kavimeet
This repository contains a C# application that connects to the Zoom API using OAuth for server-to-server authentication. It retrieves active users from a Zoom account and schedules a meeting for each user.
https://github.com/cynegeirus/dotnet-kavimeet
zoom zoom-api zoom-automation zoom-bot zoom-meetings zoom-sdk
Last synced: 7 days ago
JSON representation
This repository contains a C# application that connects to the Zoom API using OAuth for server-to-server authentication. It retrieves active users from a Zoom account and schedules a meeting for each user.
- Host: GitHub
- URL: https://github.com/cynegeirus/dotnet-kavimeet
- Owner: cynegeirus
- License: mit
- Created: 2025-01-06T21:08:17.000Z (20 days ago)
- Default Branch: main
- Last Pushed: 2025-01-06T21:11:22.000Z (20 days ago)
- Last Synced: 2025-01-06T22:21:39.199Z (20 days ago)
- Topics: zoom, zoom-api, zoom-automation, zoom-bot, zoom-meetings, zoom-sdk
- Language: C#
- Homepage:
- Size: 2.09 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Zoom Meeting Scheduler - KaviMeet
This repository contains a C# application that connects to the Zoom API using OAuth for server-to-server authentication. It retrieves active users from a Zoom account and schedules a meeting for each user.
## Requirements
- .NET 6 or higher
- Zoom API credentials (Client ID, Client Secret, Account ID)
- [ZoomNet](https://github.com/ZoomNet/ZoomNet) library for interacting with Zoom API## Setup
### 1. Obtain Zoom API Credentials
To use the Zoom API, you must create an application in the [Zoom Marketplace](https://marketplace.zoom.us/) and obtain the following credentials:
- **Account ID**: The ID of the Zoom account from which the application will operate.
- **Client ID**: The client ID to authenticate the application.
- **Client Secret**: The client secret to authenticate the application.Once you have the credentials, update them in the code below:
```csharp
var accountId = "YOUR_ACCOUNT_ID";
var clientId = "YOUR_CLIENT_ID";
var clientSecret = "YOUR_CLIENT_SECRET";
```### 2. Configure Your Project
1. Clone the repository or create a new .NET project.
2. Add the **ZoomNet** NuGet package to your project:```bash
dotnet add package ZoomNet
```3. Add **Microsoft.Extensions.Logging** and **Newtonsoft.Json**:
```bash
dotnet add package Microsoft.Extensions.Logging
dotnet add package Newtonsoft.Json
```### 3. Run the Application
1. Build and run the application using your preferred method (Visual Studio or command line).
2. The application will:
- Connect to the Zoom API using the credentials you provided.
- Retrieve a list of active users.
- Schedule a meeting titled "Example Meeting" for each user.
3. Monitor the logs to see which users were successfully scheduled for a meeting.The meeting is created with the following parameters:
- **Topic**: "Example Meeting"
- **Agenda**: "Example Meeting"
- **Start Time**: Current date and time
- **Duration**: 30 minutes
- **Time Zone**: Europe/Istanbul### Example Output:
The application will output log messages like the following:
```bash
2025-01-06T12:30:45 => Login successful by Akın BİÇER ([email protected]).
{
"id": "meeting-id",
"topic": "Example Meeting",
"start_time": "2025-01-06T12:30:45",
"duration": 30,
"join_url": "https://zoom.us/j/meeting-id"
}
```## Notes
- This application uses **Server-to-Server OAuth** authentication to securely interact with Zoom API without requiring user interaction.
- The default meeting topic and agenda can be changed in the code.
- Ensure that your Zoom account has access to the appropriate API permissions for creating meetings and retrieving user data.## License
This project is licensed under the [MIT License](LICENSE). See the license file for details.
## Issues, Feature Requests or Support
Please use the Issue > New Issue button to submit issues, feature requests or support issues directly to me. You can also send an e-mail to [email protected].