marat555 / eventbrite
Laravel PHP Facade/Wrapper for the Eventbrite Data API v3
Requires
- php: ^7.2
- ext-json: *
- guzzlehttp/guzzle: ^6.0|^7.0
- illuminate/support: ^6.0|^7.0|^8.0
Requires (Dev)
- phpunit/phpunit: ^6.1
- scrutinizer/ocular: ^1.1
- squizlabs/php_codesniffer: ^2.3
This package is auto-updated.
Last update: 2024-09-15 19:29:59 UTC
README
Eventbrite API for Laravel 的包装器。此包提供了一个简单接口来访问 Eventbrite 的(令人惊叹的)API。用简洁的 PHP 组织 Eventbrite 集成。
要求
PHP >= 7.2
Laravel >= 6.0
安装
Laravel Eventbrite 使用 composer 使安装变得简单。
通过 composer 安装
composer require marat555/eventbrite
注册服务提供者 将 Laravel Eventbrite 服务提供者添加到您的 config/app.php
文件的 providers 键
'providers' => [ // ... other providers Marat555\Eventbrite\EventbriteServiceProvider::class, ]
Eventbrite 门面别名 然后,将 Eventbrite
门面添加到您的 aliases
键:'Eventbrite' => Marat555\Eventbrite\Facades\Eventbrite::class.
配置
配置可以通过您的 .env
文件来完成。
EVENTBRITE_BASE_URL=https://www.eventbriteapi.com/v3/
EVENTBRITE_TOKEN=xxxxxxx
您还可以通过以下命令发布配置文件以进行编辑:
php artisan vendor:publish --provider="Marat555\Eventbrite\EventbriteServiceProvider"
使用
Laravel Eventbrite 的使用非常直观。
简介
已经配置了一切,只是想看看实际效果?请查看下面的示例代码。
<?php namespace App\Http\Controllers; use Eventbrite; use App\Http\Controllers\Controller; class EventbriteController extends Controller { public function getEvent(int $eventId) { return response()->json(Eventbrite::event()->get($eventId)); } }
活动
通过活动 ID 获取活动
Eventbrite::event()->get($eventId);
创建新活动
Eventbrite::event()->create(int $organizerId, array $event);
通过活动 ID 更新活动
Eventbrite::event()->update(int $eventId, array $event);
按场馆 ID 列出活动
Eventbrite::event()->list('venue', int $venueId, array $filterParams = []);
按组织 ID 列出活动
Eventbrite::event()->list('organizations', int $organizationId, array $filterParams = []);
按活动系列 ID 列出活动
Eventbrite::event()->list('series', int $seriesId, array $filterParams = []);
发布活动。返回一个布尔值,指示发布操作的成功或失败。
Eventbrite::event()->publish(int $eventId);
取消发布活动。返回一个布尔值,指示取消发布操作的成功或失败。
Eventbrite::event()->unpublish(int $eventId);
取消活动。返回一个布尔值,指示取消操作的成功或失败。
Eventbrite::event()->cancel(int $eventId);
删除活动。返回一个布尔值,指示删除操作的成功或失败。
Eventbrite::event()->delete(int $eventId);
类别
通过类别 ID 获取类别
Eventbrite::category()->get(int $categoryId);
类别列表
Eventbrite::category()->all(int $categoryId);
子类别
通过子类别 ID 获取子类别
Eventbrite::subcategory()->get(int $subcategoryId);
子类别列表
Eventbrite::subcategory()->all(int $categoryId);
显示设置
通过活动 ID 获取显示设置
Eventbrite::displaySettings()->get(int $eventId);
更新显示设置
Eventbrite::displaySettings()->update(int $eventId, array $displaySettings);
用户
通过用户 ID 获取用户
Eventbrite::user()->get($userId);
获取您的用户
Eventbrite::user()->me();
场馆
通过场馆 ID 获取场馆
Eventbrite::venue()->get($venueId);
创建新场馆
Eventbrite::venue()->create(int $organizerId, array $venue);
更新场馆
Eventbrite::venue()->update(int $venueId, array $venue);
按组织 ID 列出场馆
Eventbrite::venue()->list(int $organizationId);
格式
通过格式 ID 获取格式
Eventbrite::format->get($formatId);
格式列表
Eventbrite::format->list();
媒体
通过媒体 ID 获取媒体
Eventbrite::media->get($formatId);
创建媒体上传
Eventbrite::media->createUpload(array $mediaUpload);
获取媒体上传
Eventbrite::media->createUpload(array $mediaUploadType);
查询构建
包装器还提供了方便的方式来构建相当复杂的 Eventbrite API 请求。以下方法返回实例,因此您可以根据需要将更多约束添加到请求中。
扩展
Eventbrite 有许多模型相互引用,并且您通常希望与您查询的主要模型一起获取相关数据 - 例如,您将想要获取一个活动及其组织者。
Eventbrite::event()->expand('organizer')->get($eventId);
处理异常
Eventbrite API 将根据需要返回错误。我仍在寻找处理这些异常的更优雅方式... 暂时只需将您的调用包裹在 try/catch 块中。
try { Eventbrite::event()->publish(1234); } catch(EventbriteErrorException $e) { $response = $e->getResponse(); $responseBodyAsString = $response->getBody()->getContents(); echo $responseBodyAsString; }
实现的事件 brite API 端点
- 活动
- get
- create
- update
- list
- byEventSeriesId
- byVenueId
- byOrganizationId
- publish
- unpublish
- cancel
- delete
- 类别
- get
- list
- 子类别
- get
- list
- 显示设置
- getByEventId
- update
- 用户
- get
- 我
- 场馆
- get
- update
- list
- 格式
- get
- list
- 媒体
- get
- 创建上传
- 创建上传
Eventbrite API 非常全面。我已经尝试涵盖所有关键端点,但仍有一些端点尚未实现。
许可证
MIT 许可证(MIT)。请参阅许可证文件以获取更多信息。