Привет, новичок в REST API, но у меня есть немного опыта в php, и я / я надеюсь найти некоторую помощь и совет. AzuraCast - это панель автоматического ди-джея SHOUTcast / Icecast, со 100% открытым исходным кодом и множеством функций. У них также есть хороший API, и мне нужна помощь, чтобы заставить работать удаленные запросы на запуск / останов / перезапуск, я не уверен, как пройти аутентификацию.
Поскольку я не очень знаком с языками, отличными от php / js, я работал над CURL, но не уверен, что это хороший выбор или как именно это сделать.
Вот демонстрационная страница API https://demo.azuracast.com/static/api/index.html
Мне удалось заставить работать вызовы GET, но они просты
и вот мой код, который должен был бы остановить сервер, он не работает, но он самый близкий, который я получил, так как он также не выдает ошибку:)
$token = "b538f840ea9de018";
function jwt_request($token, $post) {
$ch = curl_init('https://demo.azuracast.com/static/api/station/1/frontend/stop');
header('Content-Type: application/json');
$post = json_encode($post);
$authorization = "Authorization: Bearer ".$token;
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json' , $authorization ));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS,$post);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$result = curl_exec($ch);
curl_close($ch);
return json_decode($result);
}