vaporic/laravel-zoom

Laravel Zoom 包

1.0.26 2023-10-12 06:46 UTC

README

Latest Version on Packagist Build Status StyleCI Total Downloads

用于管理 Laravel 中 Zoom API 的包

安装

您可以通过 composer 安装此包

composer require vaporic/laravel-zoom

服务提供者应自动注册 For Laravel > 5.4。

对于 Laravel < 5.5,打开 config/app.php 并在 providers 数组中追加

vaporic\Zoom\Providers\ZoomServiceProvider::class

配置文件

发布配置文件

php artisan vendor:publish --provider="vaporic\Zoom\Providers\ZoomServiceProvider"

这将在您的 config 目录中创建一个 zoom/config.php,您可以在其中添加 api_key 和 api_secret 的值。

使用方法

一切均已设置,以与 Laravel 语法相似。

不幸的是,Zoom API 并非非常统一,有点杂乱无章,因此目前有一些技巧可以使它正常工作。我们将重构和改进这一点。

我们使用关系,因此您需要检查 Zoom API,例如,要获取会议或网络研讨会列表,您需要传递一个用户 ID。我们使用一些关系魔法以更 Laravel 的方式实现这一点。

要获取会议列表

	$zoom = new \vaporic\Zoom\Zoom;
	$meetings = $zoom->user->find('test@domain.com')->meetings()->all();

查找所有

查找所有函数返回 Laravel Collection,因此您可以使用所有 Laravel Collection 魔法

	$zoom = new \vaporic\Zoom\Zoom;
	$users = $zoom->user->all();

过滤

API 中可以过滤结果的情况非常少,但您可以使用 where 函数。请再次查看 API 文档,了解您可以在哪里添加查询到请求。执行操作的方式如下

    $zoom = new \vaporic\Zoom\Zoom;
    $thing = $zoom->thing->where('Name', '=', 'Test Name')->get();

您也可以仅传递名称和值,如果它需要等于

    $zoom = new \vaporic\Zoom\Zoom;
    $thing = $zoom->thing->where('Name', 'Test Name')->get();

要获取单个项目,请使用 'first' 方法

    $zoom = new \vaporic\Zoom\Zoom;
    $thing = $zoom->thing->where('Name', 'Test Name')->first();

按 ID 查找

就像 Laravel 一样,我们可以使用 'find' 方法返回 ID 的单个匹配结果。对于用户/注册者/评委,您也可以使用电子邮件以及 ID。

	$zoom = new \vaporic\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

我们计划随着时间的推移添加额外的资源/子资源

变更日志

请参阅 变更日志 了解最近更改的更多信息。

贡献

请参阅 贡献指南 了解详细信息。

安全性

如果您发现任何安全相关的问题,请通过电子邮件 colin@macsi.co.uk 而不是使用问题跟踪器。

鸣谢

许可

MIT 许可证(MIT)。有关更多信息,请参阅 许可文件