iclimber / laravel-zoom-meetings
Create Zoom Meetings
Requires
- php: ^8.0|^8.1|^8.2
- ext-json: *
- guzzlehttp/guzzle: ^7.5
- illuminate/contracts: ^8.0|^9.0|^10.0
- spatie/laravel-package-tools: ^1.12.1
Requires (Dev)
- nunomaduro/collision: ^v5.11.0
- orchestra/testbench: ^v6.27.1
README
![Latest Version on Packagist]
With this package you can create Zoom meetings from your Laravel application using Server-To-Server OAuth.
Installation
You can install the package via composer:
composer require iclimber/laravel-zoom-meetings
You can publish the config file with:
php artisan vendor:publish --tag="zoom-meetings-config"
This is the contents of the published config file:
return [ 'account_id' => env('ZOOM_ACCOUNT_ID'), 'client_id' => env('ZOOM_CLIENT_ID'), 'client_secret' => env('ZOOM_CLIENT_SECRET'), 'base_url' => 'https://api.zoom.us/v2/', 'token_url' => 'https://zoom.us/oauth/token', ];
Preparing your Zoom account
Create a Server-to-Server OAuth app in your Zoom account following this
instruction: https://developers.zoom.us/docs/internal-apps/create/.
You will need the user:read:admin meeting:write:admin
scopes.
Save the Account ID, Client ID and Client Secret in your .env
file.
Usage
$access_token = Auth::getToken(); $meeting = Meeting::setAccessToken($access_token)->create([ 'topic' => 'Test Meeting', 'type' => 2, 'start_time' => now()->addDay()->startOfHour()->format('Y-m-d\TH:i:s'), 'duration' => 60, ], 'mail@example.com');
See the test cases for more usage examples.
Testing
Update the phpunit.xml file with your Zoom API credentials.
<php> <env name="ZOOM_ACCOUNT_ID" value=""/> <env name="ZOOM_CLIENT_ID" value=""/> <env name="ZOOM_CLIENT_SECRET" value=""/> <env name="ZOOM_EMAIL_ACCOUNT" value=""/> </php>
Run
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
License
The MIT License (MIT). Please see License File for more information.