Προς το περιεχόμενο

Twitch API Online - Offline


Προτεινόμενες αναρτήσεις

Δημοσ.

 

>

<?php
$channel = "RikvGRvOUP";

$json_file = @file_get_contents("http://api.justin.tv/api/stream/list.json?channel={$channel}", 0, null, null);
$json_array = json_decode($json_file, true);

if ($json_array[0]['name'] == "live_user_{$channel}")
{
$channelTitle = $json_array[0]['channel']['title'];
$title = $json_array[0]['channel']['status'];
$game = $json_array[0]['meta_game'];
?>
<!-- live channel code here -->
on

<!-- end live channel code -->
<?php
}
else
{
?>
<!-- offline channel code here -->
off

<!-- end offline channel code -->
<?php
}
?>
?>

 

 

Έχω τον παραπάνω κώδικα ο οποίος ελέγχει εάν το stream είναι Online ή Offline και κάνει κάτι για κάθε περίπτωση. Το θέμα μου είναι ότι μου πετάει αυτό το μήνυμα Notice: Undefined offset: 0 in C:\wamp\www\live\grvoup.php on line 7 όταν το stream είναι offline, ενώ όταν το stream είναι online όλα πάνε καλά! μπορείτε να ρίξετε κανα φως;

Δημοσ.

Όταν το stream είναι offline, δεν επιστρέφεται κάποιο JSON, άρα όταν κάνεις decode παίρνεις NULL. Καλύτερα ο έλεγχος να τσεκάρει αν υπάρχει το συγκεκριμένο index πρώτα.

 

>
<?php
$channel = "RikvGRvOUP";
$json_file = @file_get_contents("http://api.justin.tv/api/stream/list.json?channel={$channel}", 0, null, null);
$json_array = json_decode($json_file, true);
if (isset($json_array[0]) && $json_array[0]['name'] == "live_user_{$channel}")
{
$channelTitle = $json_array[0]['channel']['title'];
$title = $json_array[0]['channel']['status'];
$game = $json_array[0]['meta_game'];
?>
<!-- live channel code here -->
on
<!-- end live channel code -->
<?php
}
else
{
?>
<!-- offline channel code here -->
off
<!-- end offline channel code -->
<?php
}
?>
?>

Δημοσ.

Όταν το stream είναι offline, δεν επιστρέφεται κάποιο JSON, άρα όταν κάνεις decode παίρνεις NULL. Καλύτερα ο έλεγχος να τσεκάρει αν υπάρχει το συγκεκριμένο index πρώτα.

 

 

>
<?php
$channel = "RikvGRvOUP";
$json_file = @file_get_contents("http://api.justin.tv/api/stream/list.json?channel={$channel}", 0, null, null);
$json_array = json_decode($json_file, true);
if (isset($json_array[0]) && $json_array[0]['name'] == "live_user_{$channel}")
{
$channelTitle = $json_array[0]['channel']['title'];
$title = $json_array[0]['channel']['status'];
$game = $json_array[0]['meta_game'];
?>
<!-- live channel code here -->
on
<!-- end live channel code -->
<?php
}
else
{
?>
<!-- offline channel code here -->
off
<!-- end offline channel code -->
<?php
}
?>
?>

 

 

Είσαι πολύ σωστός μεγάλε. Ευχαριστώ.

 

ΥΓ. Δεν ξέρω json οπότε δεν μπορούσα να καταλάβω τι έφταιγε :S

 

Άκυρο... Τελικά ο κώδικας σου είναι λάθος. Είναι δεν είναι online το stream το δείχνει πάντα offline... :S πάντως το μήνυμα λάθους έχει εξαφανιστεί

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...