tanseercena/eventbrite

Laravel PHP Facade/Wrapper for the Eventbrite Data API v3

dev-master 2020-11-05 11:49 UTC

This package is auto-updated.

Last update: 2024-09-05 19:50:54 UTC


README

Eventbrite API包装器用于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);

查询构建

包装器还为您提供了方便的方式来构建相当复杂的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
    • me
  • 场馆
    • get
    • update
    • list
  • 格式
    • get
    • list
  • 媒体
    • get
    • 创建上传
    • 创建上传

Eventbrite API 功能丰富。我已尝试涵盖所有关键端点,但仍有一些端点尚未实现。

许可证

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