marat555/eventbrite

Laravel PHP Facade/Wrapper for the Eventbrite Data API v3

dev-master 2021-06-15 11:28 UTC

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)。请参阅许可证文件以获取更多信息。