• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[Twitch API] Nicki oglądających osób.

42 Warsaw Coding Academy
0 głosów
438 wizyt
pytanie zadane 26 maja 2016 w PHP przez No Lime Gaduła (4,540 p.)

Cześć! Próbuje stworzyć pewien skrypt  z wykorzystaniem Twitch API i przyznam, że nieźle namieszał mi w głowie. Nie potrafię załapać metody "rozpakowania" zwróconych danych na części pierwsze. 
To mój kod:

<?php 

$json = file_get_contents("https://tmi.twitch.tv/group/user/izakooo/chatters");
 $data = json_decode($json);

print_r($data);
echo "<br>";
echo "<br>";
echo "<br>";
print_r($data->chatters->viewers);
 ?>

A tutaj wrzucam screena który pokazuje co dokładnie zostaje zwrócone.

http://prntscr.com/b8mb94

Chciałbym wyodrębnić dosłownie same nicki osób aktualnie oglądających dany stream. Próbowałem kombinować z pętlą foreach co raczej w tym wypadku, z racji zwracanego obiektu, nie miało prawa wypalić. No cóż, liczę, że ktoś mnie pokieruje na właściwy tor a resztę sam już zrobię.
Pozdrawiam.

komentarz 8 listopada 2016 przez Montu Początkujący (480 p.)
Mam pytanie co do jednej rzeczy.

Skąd Pan wział ten link:

https://tmi.twitch.tv/group/user/izakooo/chatters ??

1 odpowiedź

+1 głos
odpowiedź 26 maja 2016 przez SyntaxError Pasjonat (17,170 p.)

Yyyy. 

<?php

echo 'Oglądający: '.implode(', ', $data->chatters->viewers);

 

Ale gwarantuje, że z foreach też by się udało. :D

 

komentarz 26 maja 2016 przez No Lime Gaduła (4,540 p.)
edycja 26 maja 2016 przez No Lime

Hm, no dobra. Natomiast jakbym mógł to zrobić za pomocą foreach? Zależy mi na tym aby w tej pętli postawić warunek sprawdzający czy taki użytkownik już istnieje załóżmy w mojej bazie danych.

EDIT: Zmodyfikowałem mój kod i mam teraz to wszystko w pętli foreach gdzie już warunek łatwo postawie, natomiast jak mogę zrobić aby operować na wszystkich aktualnie znajdujących się użytkownikach w tej tablicy sprawdzać tego IF-a?

<?php 



$dataArray = json_decode(@file_get_contents('https://tmi.twitch.tv/group/user/izakooo/chatters'), true);

foreach($dataArray['chatters'] as $mydata){

	$name 		= $mydata;

	print_r($name);

}

?>

A tutaj to co zwraca ten skrypt:

http://prntscr.com/b8udpl

komentarz 26 maja 2016 przez SyntaxError Pasjonat (17,170 p.)

Serio?

<?php

foreach($data->chatters->viewers as $viewer) {
    echo $viewer;
}

 

komentarz 26 maja 2016 przez No Lime Gaduła (4,540 p.)

Twój skrypt mi nie działa. Zwraca mi to :

Notice: Trying to get property of non-object in C:\xampp\htdocs\web\index.php on line 7

Notice: Trying to get property of non-object in C:\xampp\htdocs\web\index.php on line 7

Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\web\index.php on line 7

 

PS. Zobacz mój edit wyżej i oceń proszę.

komentarz 27 maja 2016 przez SyntaxError Pasjonat (17,170 p.)

Jak podałeś true do json_decode w drugim argumencie to teraz masz tablice zamiast stdClass. Czyli odwołujesz się jak do tablicy:

foreach($data['chatters']['viewers'] as $viewer) {
    echo $viewer;
}

 

Podobne pytania

0 głosów
1 odpowiedź 301 wizyt
pytanie zadane 8 listopada 2016 w JavaScript przez Montu Początkujący (480 p.)
0 głosów
2 odpowiedzi 557 wizyt
pytanie zadane 18 lutego 2021 w PHP przez Grzegorz Mikina Dyskutant (8,060 p.)
0 głosów
1 odpowiedź 205 wizyt
pytanie zadane 24 maja 2019 w PHP przez Filipek123 Użytkownik (840 p.)

93,383 zapytań

142,382 odpowiedzi

322,539 komentarzy

62,744 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...