christian-heiko / bka-api
Berner Kulturagenda的API客户端
2.0.0
2024-09-25 07:40 UTC
Requires
- php: >=8.2
- guzzlehttp/guzzle: ^7.0
README
这个基于Guzzle的客户端与Kulturagenda和In-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();