Berner Kulturagenda的API客户端

2.0.0 2024-09-25 07:40 UTC

This package is auto-updated.

Last update: 2024-09-25 07:41:31 UTC


README

这个基于Guzzle的客户端与KulturagendaIn-Situ的事件相关API交互。使用它来读取/创建/更新/删除事件,并获取其他数据,如观众、类别等。

API凭证

使用它,您需要在这些平台之一上登录以及API凭证

  • 客户端ID
  • 客户端密钥
  • 访问令牌
  • 刷新令牌

要获取这些凭证,请联系这些页面之一的客服。

支持

这是一个非官方包,我与任何一个组织或相关公司都没有关系或在工作。因此,我无法提供与API相关的问题支持,但我很乐意支持与此包相关的问题。

这是我的第一个开源包;请随意贡献或提供反馈✌️

路线图

一个Wordpress插件,可能是常见的活动插件选项。如果您想帮助开发这样的插件,请给我发消息。

安装

composer require christian-heiko/bka-api

创建实例

直接

<?php

use ChristianHeiko\Bka\Client

$client = new Client(
    'url',
    'clientId',
    'clientSecret',
    'accessToken',
    'refreshToken'
);

通过.env文件

#.env
BKA_URL =
BKA_CLIENT_ID =
BKA_CLIENT_SECRET =
BKA_REFRESH_TOKEN =
<?php

use ChristianHeiko\Bka\Client
$accessToken = 'Load From DB or where-ever';
$client = Client::makeFromEnv($accessToken);

事件

完整的CRUD示例在examples/events.php

实现的端点

<?php

use ChristianHeiko\Bka\Client

$client = Client::makeFromEnv('...');

$client->events(date_from: new DateTime());
$client->event('slug-to-event');
$client->addEvent(['data for event']);
$client->updateEvent('id', ['data for event']);
$client->saveEvent(['data for event'], 'id'|null); // Shortcut to add/update
$client->deleteEvent('id');

$client->sponsoredEvents();
$client->similarEvents('slug-to-event');
$client->eventsForOrganization('slug-to-organization');
$client->eventsForPlace('slug-to-place');

$client->affiliations();
$client->audiences();
$client->categories();
$client->organizations();
$client->organization('slug-to-organization');
$client->places();
$client->place('slug-to-place');
$client->regions();