juilofagundes/laravel-zoom

Laravel Zoom 包

1.0.20 2020-02-06 16:15 UTC

README

Latest Version on Packagist Build Status StyleCI Total Downloads

用于管理 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)。有关更多信息,请参阅 许可文件