jmurphy / eventbrite
Laravel PHP Facade/Wrapper for the Eventbrite Data API v3
Requires
- php: ^7.2
- ext-json: *
- guzzlehttp/guzzle: ^6.0
- illuminate/support: ^6.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-27 05:54:17 UTC
README
Eventbrite API wrapper 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
您还可以将配置文件发布到
config/eventbrite.pzhp以进行编辑: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);
查询构建
包装器还提供了一个方便的方式来构建相当复杂的事件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; }
实现的Eventbrite API端点
- 活动
- get
- create
- update
- list
- byEventSeriesId
- byVenueId
- byOrganizationId
- publish
- unpublish
- cancel
- delete
- 类别
- get
- list
- 子类别
- get
- list
- 显示设置
- getByEventId
- update
- 用户
- get
- me
- 场馆
- get
- update
- list
- 格式
- get
- list
- 媒体
- get
- 创建上传
- 创建上传
Eventbrite API 功能丰富。我已经尝试涵盖所有关键端点,但仍有一些端点尚未实现。
许可证
MIT 许可证(MIT)。更多信息请参阅许可证文件。