Detectar si un streamer está en directo (API Twitch Helix)
ThommyGames06
Mensajes publicados
5
Estado
Miembro
-
jordane45 Mensajes publicados 30426 Fecha de registro Estado Moderador Última intervención -
jordane45 Mensajes publicados 30426 Fecha de registro Estado Moderador Última intervención -
Bonjour, voici la traduction française de votre texte en espagnol, en conservant le formatage HTML tel quel:
Hola,
Estoy tratando de hacer un código que pueda detectar cuando un streamer está en línea en Twitch gracias a la API de Twitch "HELIX". Estoy atascado y no logro avanzar a pesar de mis consultas en numerosos artículos publicados por otras personas.
Aquí está en lo que estoy
Merci de me guider... ;)
Estoy tratando de hacer un código que pueda detectar cuando un streamer está en línea en Twitch gracias a la API de Twitch "HELIX". Estoy atascado y no logro avanzar a pesar de mis consultas en numerosos artículos publicados por otras personas.
Aquí está en lo que estoy
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 me guider... ;)
EDIT :: Correction des balises de code ( ajout du LANGAGE pour avoir la coloration syntaxique )
Enlaces relacionados:
- cómo cargar una página HTML en JavaScript
- visualización de una tabla en javascript
- Convertir una duración expresada en segundos a horas, minutos y segundos
- Deshabilitar un campo de entrada si se selecciona el select
- Mi carpeta no se reconoce como un comando interno o externo.
- mostrar una tabla JS en HTML
3 respuestas
-
Hola,
Estás bloqueado .. ¿qué significa?
¿En qué exactamente estás bloqueado?
¿Has mirado en la consola de JavaScript de tu navegador (para eso te recomiendo encarecidamente hacerlo con Firefox) el resultado de tu llamada ajax?
También sería bueno añadir algunos console.log en tu código para ver qué valen tus distintas variables...
Y por supuesto.. has reemplazado el CLIENT-ID por tu identificador (que debes obtener en el sitio de la API)
Y noto también que parece que estás usando Jquery en tu página ..... entonces sería más sencillo usar la función ajax de jquery en lugar de hacer un XMLHttpRequest..
--
Cordialement,
Jordane -
<bold>Gracias por responderme Jordane,</bold>
Cuando digo "Estoy bloqueado", es decir, que mi código no funciona. He seguido tus consejos y esto es en lo que me encuentro:
$.ajax({ url: "https://api.twitch.tv/helix/streams?user_login=STREAMER", dataType: 'json', headers: { 'Client-ID': 'Mi Client ID' }, success: function(data){ console.log(data) if (data["stream"] == null) { $("#info").html("El stream está inactivo"); console.log(data["stream"]); } else { $("#info").html("El stream está activo"); console.log(data["stream"]); } } });
La consola devuelve el error 401 que es:{error: "Unauthorized", status: 401, message: "OAuth token is missing"}
¿Qué significa eso?
Gracias,
Thommy ;)-
Significa que no has enviado el token de autenticación
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("El stream está inactivo"); console.log(data["stream"]); } else { $("#info").html("El stream está activo"); console.log(data["stream"]); } } });
Documento a leer en complemento:
https://dev.twitch.tv/docs/authentication/getting-tokens-oauth
-
-
He enviado una solicitud para obtener mi token (gracias a la documentación) pero no devuelve nada (perdón por ser tan novato en el mundo de la 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: He obtenido el "secreto de cliente" (client secret) en la consola de mi aplicación de Twitch al hacer clic en nuevo secreto.
¡De nuevo gracias!
Thommy ;)