juilofagundes / laravel-zoom
Laravel Zoom 包
Requires
- php: ^7.2
- firebase/php-jwt: ^5.0
- guzzlehttp/guzzle: ~6.0|~5.0|~4.0
- illuminate/support: ^6.0
Requires (Dev)
- orchestra/testbench: ^4.0
- phpunit/phpunit: ^8.0
README
用于管理 Laravel 中 Zoom API 的包
安装
您可以通过 composer 安装此包
composer require macsidigital/laravel-zoom
服务提供者应自动注册 For Laravel > 5.4。
对于 Laravel < 5.5,打开 config/app.php 并在 providers 数组中追加
MacsiDigital\Zoom\Providers\ZoomServiceProvider::class
配置文件
发布配置文件
php artisan vendor:publish --provider="MacsiDigital\Zoom\Providers\ZoomServiceProvider"
这将在您的配置目录中创建一个 zoom/config.php,您可以在其中添加 api_key 和 api_secret 的值。
使用方法
一切设置都类似于 Laravel 语法。
不幸的是,Zoom API 并不非常统一,有点混乱,所以目前有一些技巧可以使它工作。我们将重构和改进这一点。
我们使用关系,所以您需要检查 Zoom API,例如,要获取会议或网络研讨会列表,您需要传递用户 ID。我们使用一点关系魔法以更 Laravel 的方式实现这一点。
要获取会议列表
$zoom = new \MacsiDigital\Zoom\Zoom; $meetings = $zoom->user->find('test@domain.com')->meetings()->all();
查找所有
查找所有函数返回一个 Laravel Collection,您可以使用所有 Laravel Collection 的魔法。
$zoom = new \MacsiDigital\Zoom\Zoom; $users = $zoom->user->all();
过滤
API 中可以过滤结果的情况很少,但您可以在这里使用 where 函数。再次检查 API 文档以确定您可以在请求中添加查询的位置。要执行操作,您将这样做
$zoom = new \MacsiDigital\Zoom\Zoom; $thing = $zoom->thing->where('Name', '=', 'Test Name')->get();
您也可以直接传递名称和值,如果它是等于的话
$zoom = new \MacsiDigital\Zoom\Zoom; $thing = $zoom->thing->where('Name', 'Test Name')->get();
要获取单个项目,请使用 'first' 方法
$zoom = new \MacsiDigital\Zoom\Zoom; $thing = $zoom->thing->where('Name', 'Test Name')->first();
按 ID 查找
就像 Laravel 一样,我们可以使用 'find' 方法根据 ID 返回单个匹配的结果。对于用户/注册者/主持人,您也可以使用电子邮件以及 ID。
$zoom = new \MacsiDigital\Zoom\Zoom; $meeting = $zoom->meeting->find('000000000');
创建项目
我们可以使用 save 函数创建和更新记录,以下是一个创建的完整 save 脚本。
$user = $zoom->user->create([ 'name' => 'Test Name', 'first_name' => 'First Name', 'last_name' => 'Last Name', 'email' => 'test@test.com', 'password' => 'secret', 'type' => 1 ]); $meeting = $user->meetings()->create([ 'type' => '2', 'start_time' => '2019-06-29T20:00:00Z' ]); $registrant = $meeting->registrants()->create([ 'email' => 'registratn@domain.com', 'first_name' => 'Test', 'last_name' => 'Registrant' ]);
还有用于添加子对象的辅助函数
$meeting = $zoom->meeting->find('000000000'); $recurrance = $zoom->recurrance->create(['fields' => 'values']); $meeting->addRecurrance($recurrance); $meeting->save();
资源
我们涵盖了主要资源
Meetings
Panelists
Registrants
Users
Webinars
但一些也有子资源,如
Recurrance
Occurance
Settings (for meetings and webinars)
Tracking Fields
我们计划随着时间的推移添加更多的资源/子资源
变更日志
请参阅 CHANGELOG 了解最近更改的更多信息。
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全
如果您发现任何安全相关的问题,请通过电子邮件 colin@macsi.co.uk 反馈,而不是使用问题跟踪器。
鸣谢
许可
MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件。