2017-09-17 8 views
0

Récemment, Twitch apporter une nouvelle version de l'API à l'aide de nouveaux terminaux etc ..Twitch Nouvelle API: URL (Helix)

je travaillais sur la V5, mais je n'ai pas utilisé la ligne de commande Curl, je travaille avec l'URL .

donc je décide de regarder les références de la nouvelle version, en essayant par exemple pour obtenir les disciples et trouvé ceci:

https://api.twitch.tv/helix/users/follows?to_id='user ID' 

Je remplace le user_ID par un identifiant (le mien et/ou d'une autre) et obtenez:

{ 
    "error":"Unauthorized", 
    "status":401,"message":"Must provide a valid Client-ID or OAuth token" 
} 

Quand je travaillais sur la V5, je mettais le client_id et la oauth à la fin de l'URL comme ceci:

Et cela fonctionnait, mais dans la nouvelle API, j'ai déjà un paramètre donc j'ai ajouté le client_id et le jeton après avec un connecteur & ... Mais toujours avoir la même erreur.

J'essaie aussi de les mettre avant le paramètre to_id, mais même ...

Ma question est vraiment stupide, mais quelqu'un sait le format d'URL sur la nouvelle API?

Répondre

0

Vous devez maintenant envoyer votre ID client dans l'en-tête de la requête, et non dans une URL param. Mais il y a un autre problème avec SSL/HTTPS dans ce cas si vous utilisez curl. Voici une solution à votre problème

DEFINE (TWITCH_API_KEY,'YOUR_KEY_HERE'); 
$url = 'https://api.twitch.tv/helix/streams/metadata'; 
$ch = curl_init(); 
$headers=['Client-ID: '.TWITCH_API_KEY]; 
curl_setopt($ch, CURLOPT_URL,$url); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
$result = curl_exec ($ch); 
curl_close ($ch); 
echo $result; 
+0

Etes-vous sûr que c'est une obligation d'utiliser l'en-tête maintenant? Parce que officiellement dans le V5 c'était, mais l'URL fonctionnait:/ Quoi qu'il en soit merci pour votre réponse, je dois utiliser url, je suis si triste si la version hélice désactiver :( –