La plupart des requêtes API visent à obtenir des informations sur l'état de la radio, mais dans certains cas, il existe un besoin :
- obtenir des informations non publiques, par exemple une liste des DJ de la radio avec leurs mots de passe d'accès.
- Effectuer des modifications sur le serveur radio, par exemple, ajouter une nouvelle chaîne, un nouveau serveur, créer une liste de lecture, etc.
Dans ce cas, l'API exigera une autorisation sur demande. Notre plateforme de radio Internet prend en charge un mécanisme d'autorisation standard pour l'API : des clés que vous pouvez gérer dans la section « Clés API » des paramètres du panneau de contrôle de la radio Internet.
En général, le processus se déroule comme suit :
- Une nouvelle clé API est créée dans la section « Clés API » de l’interface Web du diffuseur.
- Cette clé est spécifiée dans l'en-tête HTTP lors des requêtes API.
- L'API vérifie la présence de la clé dans la requête, en contrôle la validité et exécute la requête si la clé est valide.
Veuillez noter que lors de l'utilisation de clés API, il est absolument nécessaire de travailler via le protocole HTTPS, faute de quoi les clés API risquent d'être compromises.
Exemple de code d'utilisation d'une clé API.
Dans la section « Paramètres » → « Clés API » du panneau de contrôle de la radio Internet, une clé a été créée : g0hsQEz6.JSXQWKby36Y1CefRA4JuUGKEg3ACY9wt . Dans votre cas, vous devez vous rendre dans cette section, obtenir votre propre clé et l’utiliser. La clé mentionnée dans l’article est utilisée à titre d’exemple uniquement et ne fonctionnera pas avec votre API.
Pour illustrer cela, nous allons créer une playlist aléatoire nommée « Test Playlist » sur le serveur dont l’ID est 1. La requête est effectuée par la méthode POST à l’URL /api/v2/playlists/ :
En Python:
import requests
payload = {
"name":"Test Playlist",
"is_random":True,
"server":1
}
headers = {"SC-API-KEY": "p6HLVit4.trl8xfTaFCGpdv74FO3YHNeUsBSDofDx"}
response = requests.post("https://demo.streaming.center:8080/api/v2/playlists/", headers=headers, json=payload)
En PHP avec cURL :
$payload = [
"name" => "Test Playlist",
"is_random" => true,
"server" => 1
];
$headers = [
"SC-API-KEY: p6HLVit4.trl8xfTaFCGpdv74FO3YHNeUsBSDofDx",
"Content-Type: application/json"
];
$ch = curl_init("https://demo.streaming.center:8080/api/v2/playlists/");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
// Exécuter la requête
$response = curl_exec($ch);
// Vérifier les erreurs
if (curl_errno($ch)) {
echo "Erreur cURL: " . curl_error($ch);
} else {
echo "Réponse : " . $response;
}
curl_close($ch);

