jmurphy/eventbrite

Laravel PHP Facade/Wrapper for the Eventbrite Data API v3

dev-master 2020-02-26 19:21 UTC

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