azuracast / php-api-client
为 AzuraCast API 提供的 API 客户端库
Requires
- php: >=7.2.0
- ext-gd: *
- ext-json: *
- guzzlehttp/guzzle: ^7.0
Requires (Dev)
- fzaninotto/faker: ^1.8
- overtrue/phplint: ^2.2
- phpstan/phpstan: ^0.12.54
- phpstan/phpstan-strict-rules: ^0.12.5
- phpunit/phpunit: ^9.4
- roave/security-advisories: dev-master
- vlucas/phpdotenv: ^5.2
This package is auto-updated.
Last update: 2024-09-13 01:58:16 UTC
README
此 PHP 库为 AzuraCast JSON API 提供了一个 API 客户端。
安装
强烈建议使用 Composer 包管理器,通过运行以下命令来安装此客户端:
composer require azuracast/php-api-client
用法
<?php require __DIR__ . '/vendor/autoload.php'; $api = \AzuraCast\Api\Client::create( '<IP-Address | Host>', '<API Key>' ); $nowPlaying = $api->nowPlaying(); echo $nowPlaying->getCurrentSong()->getSong()->getTitle();
可用的端点
正在播放
GET
/nowplaying
$api->nowPlaying();
GET
/nowplaying/{station_id}
$api->station($station_id)->nowPlaying();
站点:通用
GET
/stations
$api->stations();
GET
/station/{station_id}
$api->station($stationId)->get();
站点:歌曲请求
GET
/station/{station_id}/requests
$api->station($stationId)->requests()->list();
POST
/station/{station_id}/request/{request_id}
$api->station($stationId)->requests()->submit($uniqueId);
站点:服务控制
GET
/station/{station_id}/status
$api->station($stationId)->status();
POST
/station/{station_id}/restart
$api->station($stationId)->restart();
POST
/station/{station_id}/frontend/{action}
$api->station($stationId)->frontend($action);
POST
/station/{station_id}/backend/{action}
$api->station($stationId)->backend($action);
站点:历史记录
GET
/station/{station_id}/history
$api->station($stationId)->history(?\DateTime $start = null, ?\DateTime $end = null);
站点:听众
GET
/station/{station_id}/listeners
$api->station($stationId)->listeners();
站点:媒体
GET
/station/{station_id}/art/{media_id}
$api->station($stationId)->media()->art($uniqueId);
GET
/station/{station_id}/files
$api->station($stationId)->media()->list();
POST
/station/{station_id}/files
$api->station($stationId)->media()->upload(UploadFileDto $uploadFile);
站点:挂载点
GET
/station/{station_id}/mounts
$api->station($stationId)->mounts();
站点:播客/DJ
GET
/station/{station_id}/streamers
$api->station($stationId)->streamers()->list();
GET
/station/{station_id}/streamer/{id}
$api->station($stationId)->streamers()->get(int $streamerId);
POST
/station/{station_id}/streamers
$api->station($stationId)->streamers()->create(
string $username,
string $password,
string $displayName,
string $comments,
bool $isActive
);
PUT
/station/{station_id}/streamer/{id}
$api->station($stationId)->streamers()->update(
int $streamerId,
string $username,
string $password,
string $displayName,
string $comments,
bool $isActive
);
DELETE
/station/{station_id}/streamer/{id}
$api->station($stationId)->streamers()->delete($streamerId);
管理:自定义字段
GET
/admin/custom_fields
$api->admin()->customFields()->list();
POST
/admin/custom_fields
$api->admin()->customFields()->get(int $customFieldId);
GET
/admin/custom_fields/{id}
$api->admin()->customFields()->create(string $name, string $shortName);
PUT
/admin/custom_fields/{id}
$api->admin()->customFields()->update(int $customFieldId, string $name, string $shortName);
DELETE
/admin/custom_fields/{id}
$api->admin()->customFields()->delete(int $customFieldId);
管理:用户
GET
/admin/users
$api->admin()->users()->list();
GET
/admin/user/{id}
$api->admin()->users()->get(int $userId);
POST
/admin/users
$api->admin()->users()->create(
string $email,
string $authPassword,
string $name,
string $timezone,
string $locale,
string $theme,
array $roles,
array $apiKeys
);
PUT
/admin/user/{id}
$api->admin()->users()->update(
int $userId,
string $email,
string $authPassword,
string $name,
string $timezone,
string $locale,
string $theme,
array $roles,
array $apiKeys
);
DELETE
/admin/user/{id}
$api->admin()->users()->delete(int $userId);
管理:角色
GET
/admin/permissions
$api->admin()->permissions();
GET
/admin/roles
$api->admin()->roles()->list();
GET
/admin/role/{id}
$api->admin()->roles()->get(int $roleId);
POST
/admin/roles
$api->admin()->roles()->create(
string $name,
string[] $permissionsGlobal,
string[] $permissionsStation
);
PUT
/admin/role/{id}
$api->admin()->roles()->update(
int $roleId
string $name
string[] $permissionsGlobal
string[] $permissionsStation
);
DELETE
/admin/role/{id}
$api->admin()->roles()->delete(int $roleId);
管理:设置
GET
/admin/settings
$api->admin()->settings()->list();
PUT
/admin/settings
$api->admin()->settings()->update(
string $baseUrl,
string $instanceName,
string $timezone,
bool $preferBrowserUrl,
bool $useRadioProxy,
int $historyKeepDays,
bool $alwaysUseSsl,
string $apiAccessControl,
string $analytics,
bool $centralUpdatesChannel,
string $publicTheme,
bool $hideAlbumArt,
string $homepageRedirectUrl,
string $defaultAlbumArtUrl,
bool $hideProductName,
string $customCssPublic,
string $customJsPublic,
string $customCssInternal
);