Something like
<?php
$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' => 'c533u8ntdp29h42xxzwfe0pf5v66dm',
'client_secret' => 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX',
'grant_type' => 'client_credentials'
);
curl_setopt($cho, CURLOPT_POSTFIELDS, $fields);
$output = curl_exec($cho);
$info = curl_getinfo($cho);
if ($info['http_code'] == 200) {
$oauth = json_decode($output, true);
$token = $oauth['access_token'];
// inizio a chiamare le API
$total = 0;
foreach($channels as $chans){
if (count($chans) > 0) {
$callAPI = implode('&user_login=', $chans);
$url="https://api.twitch.tv/helix/streams?user_login=" . $callAPI;
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Client-ID: c533u8ntdp29h42xxzwfe0pf5v66dm',
'Authorization: Bearer '.$token
));
$result = curl_exec($ch);
$i = curl_getinfo($ch);
curl_close($ch);
// preparo le stamp per le API
if ($i['http_code'] == 200) {
$str = json_decode($result, true);
foreach ($str['data'] as $live_chan){
$total += $live_chan['viewer_count'];
}
// do stuff with $str has chnanels
} else {
// non 200 do somethign with the error
// do stuff with $str has error message
}
// fine chiamata API
}
echo $total;
}
But most of this is a full “I wouldn’t of done it like this”, but works as a rough example.
You don’t want to generate an app access token every time you should reuse one you already have if it’s still valid