Détecter si un streamer est en live (API Twitch Helix)
ThommyGames06
Messages postés
5
Statut
Membre
-
jordane45 Messages postés 30427 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30427 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'essaie de faire un code pouvant détecter quand un streamer est en ligne sur Twitch grace à l'API Twitch "HELIX". Je suis bloqué et je n'arrive pas malgré mes consultations sur de nombreux articles postés par d'autres personnes.
Voici où j'en suis
Merci de m'aiguiller... ;)
J'essaie de faire un code pouvant détecter quand un streamer est en ligne sur Twitch grace à l'API Twitch "HELIX". Je suis bloqué et je n'arrive pas malgré mes consultations sur de nombreux articles postés par d'autres personnes.
Voici où j'en suis
var xhr = new XMLHttpRequest();
xhr.open("GET", "https://api.twitch.tv/helix/streams?user_login=STREAMER", true);
xhr.setRequestHeader('Client-ID', 'CLIENT ID');
xhr.onreadystatechange = function(){
if(xhr.readyState == 4){
var data = JSON.parse(xhr.responseText);
if(data["stream"] == null){
$("#statut").html("Le stream est inactif")
}else{
$("#statut").html("Le stream est actif")
}
}
}
xhr.send();
Merci de m'aiguiller... ;)
EDIT :: Correction des balises de code ( ajout du LANGAGE pour avoir la coloration syntaxique )
3 réponses
-
Bonjour,
Tu es bloqué .. c'est à dire ?
Sur quoi bloques tu exactement ?
As tu regardé dans la console javascript de ton navigateur ( pour ça je te conseille fortement de le faire sous firefox ) le résultat de ton appel ajax ?
Il serait bien également d'ajouter quelques console.log dans ton code pour voir ce que valent tes différentes variables...
Et bien entendu.. tu as remplacé le CLIENT-ID par ton identifiant (que tu dois obtenir sur le site de l'api )
Je note également que tu sembles utiliser Jquery dans ta page ..... il serait donc plus simple d'utiliser la fonction ajax de jquery au lieu de faire du XMLHttpRequest..
-
Merci de m'avoir répondu Jordane,
Quand je dis "Je suis bloqué", c'est-à-dire que mon code ne fonctionne pas. J'ai suivis vos conseils et voilà où j'en suis :
$.ajax({ url: "https://api.twitch.tv/helix/streams?user_login=STREAMER", dataType: 'json', headers: { 'Client-ID': 'Mon Client ID' }, success: function(data){ console.log(data) if (data["stream"] == null) { $("#info").html("Le stream est inactif"); console.log(data["stream"]); } else { $("#info").html("Le stream est actif"); console.log(data["stream"]); } } });
La console retourne l'erreur 401 qui est :{error: "Unauthorized", status: 401, message: "OAuth token is missing"}
Qu'est-ce que cela signifie ?
Merci,
Thommy ;)-
Cela signifie que tu n'a pas envoyé le token d'authentification
headers: { $.ajax({ url: "https://api.twitch.tv/helix/streams?user_login=STREAMER", dataType: 'json', 'Client-ID': '<your client id>', 'Authorization': 'OAuth <your oauth token with channel_read scope>', success: function(data){ console.log(data) if (data["stream"] == null) { $("#info").html("Le stream est inactif"); console.log(data["stream"]); } else { $("#info").html("Le stream est actif"); console.log(data["stream"]); } } });
Documentation à lire en complément :
https://dev.twitch.tv/docs/authentication/getting-tokens-oauth
-
-
J'ai envoyé une requête pour obtenir mon jeton (grâce à la documentation) mais cela ne retourne rien (désolé d'être si novice dans le monde de l'API ).
var xhr = new XMLHttpRequest(); xhr.open("POST", "https://id.twitch.tv/oauth2/token?client_id=MON CLIENT ID&client_secret=MON CLIENT SECRET&grant_type=client_credentials", true); console.log(xhr.responseText); xhr.send; $.ajax({ url: "https://api.twitch.tv/helix/streams?user_login=STREAMER", dataType: 'json', headers: { 'Client-ID': 'CLIENT ID', 'Authorization': 'OAuth TOKEN'}, success: function(data){ console.log(data) if (data["stream"] == null) { $("#info").html("Le stream est inactif"); console.log(data["stream"]); } else { $("#info").html("Le stream est actif"); console.log(data["stream"]); } } });
P.S: J'ai obtenu le "secret du client" (client secret) sur la console de mon application Twitch en ayant cliquer sur nouveau secret.
Encore merci,
Thommy ;)