Twitch Helix Api Call mit oAuth und Client ID

Mit folgender Funktion, kann man mit der neuen Helix Api von Twitch weiterhin seine Abfragen machen. Neu dazu kommt, dass man neben der Client ID auch einen oAuth Token braucht und somit viele alte Scripts nicht mehr funktionieren. Die URL die unten erwähnt ist, muss an die Funktion übergeben werden. Als Beispiel:

$url = 'https://api.twitch.tv/helix/streams?user_login=someuser';
$data = returnTwitch($url, <client id>, <client secret>);
<?php
function returnTwitch($url, $clientid, $clientsecret) {

$cho = curl_init('https://id.twitch.tv/oauth2/token');
curl_setopt($cho, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($cho, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cho, CURLOPT_POST, 1);
$fields = array(
'client_id' => $clientid,
'client_secret' => $clientsecret,
'grant_type' => 'client_credentials',
'token_type' => 'bearer',
'state' => $_GET['state']
);
curl_setopt($cho, CURLOPT_POSTFIELDS, $fields);
$output = curl_exec($cho);
$oauth = json_decode($output, true);
$token = $oauth['access_token'];

$ch = curl_init();
$headers=['Client-ID: $clientid,'Authorization: Bearer ' . $token];
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);
$res = json_decode($result);
return $res;

}
?>

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.