Php Twitch Api Kullanımı
UstaDerslik Soru-Cevap Yararlı Araçlar
arama ikon
Diller
Türkçe Türkçe

bilgi UstaDerslik
Bu uyari kutusudur.
Tamam
Anasayfa
İletişim
Üyeler

Php Twitch Api Kullanımı

profil
cArleone
BEĞEN(0)
BEĞENME(0)
GÖRÜNTÜLENME(2517)
RAPOR ET
Bu dersimizde Twitch apin'in kullanımını işleyeceğiz.Kullanımından bahsedecek olursak,twitch api belirli urller de kanal ismi yazarak bize bir json çıktı verir.Bu json çıktıda istediğimiz veriler mevcut olur.Örneğin video için olan url ye kanal ismini eklersek,bize o json çıktıda tüm video geçmişini verileri verir.O yüzden jsonu iyi bilmemiz gerek.Jsonu http://ustaderslik.com/ara.php?kelime=json buradan öğrenebilirsiniz.

https://api.twitch.tv/kraken/channels/ kanal_ismi

Yukarıdaki urlyi düzenleyip çalıştırırsanız veriler gelecektir.Eğer kanal ismi hatalı ise json formatında error verilir.Bu erorr ile de kontrol yapabiliriz.

Bir php dosyası oluşturup aşağıdaki kodu çalıştırın.
<?php
$kanal=@json_decode(file_get_contents("https://api.twitch.tv/kraken/channels/gsl"));
var_dump($kanal);
?>

object(stdClass)[1]
public 'mature' => boolean false
public 'status' => string '2014 HOT6 CUP LAST BIG MATCH Ro4 / Grand Finals' (length=47)
public 'broadcaster_language' => string 'en' (length=2)
public 'display_name' => string 'GSL' (length=3)
public 'game' => string 'StarCraft II: Heart of the Swarm' (length=32)
public 'delay' => int 0
public 'language' => string 'en' (length=2)
public '_id' => int 52229024
public 'name' => string 'gsl' (length=3)
public 'created_at' => string '2013-11-27T00:45:44Z' (length=20)
public 'updated_at' => string '2014-12-19T15:26:54Z' (length=20)
public 'logo' => string 'http://static-cdn.jtvnw.net/jtv_user_pictures/gsl-profile_image-6697b35e45e3060f-300x300.png' (length=92)
public 'banner' => null
public 'video_banner' => string 'http://static-cdn.jtvnw.net/jtv_user_pictures/gsl-channel_offline_image-973b624aa45df526-640x360.jpeg' (length=101)
public 'background' => null
public 'profile_banner' => string 'http://static-cdn.jtvnw.net/jtv_user_pictures/gsl-profile_banner-96eaa7b8241c1c6d-480.jpeg' (length=90)
public 'profile_banner_background_color' => null
public 'partner' => boolean true
public 'url' => string 'http://www.twitch.tv/gsl' (length=24)
public 'views' => int 16595986
public 'followers' => int 38599
public '_links' =>
object(stdClass)[2]
public 'self' => string 'https://api.twitch.tv/kraken/channels/gsl' (length=41)
public 'follows' => string 'https://api.twitch.tv/kraken/channels/gsl/follows' (length=49)
public 'commercial' => string 'https://api.twitch.tv/kraken/channels/gsl/commercial' (length=52)
public 'stream_key' => string 'https://api.twitch.tv/kraken/channels/gsl/stream_key' (length=52)
public 'chat' => string 'https://api.twitch.tv/kraken/chat/gsl' (length=37)
public 'features' => string 'https://api.twitch.tv/kraken/channels/gsl/features' (length=50)
public 'subscriptions' => string 'https://api.twitch.tv/kraken/channels/gsl/subscriptions' (length=55)
public 'editors' => string 'https://api.twitch.tv/kraken/channels/gsl/editors' (length=49)
public 'teams' => string 'https://api.twitch.tv/kraken/channels/gsl/teams' (length=47)
public 'videos' => string 'https://api.twitch.tv/kraken/channels/gsl/videos' (length=48)


Çıktısı bu şekilde olacaktır.Burada tüm kanal bilgileri mevcut .Ayriyetten en son da diğer verilerin saklandığı urlleri bize sunmaktadır. Bu urller sayesinde diğer bilgilere ulaşabiliriz.Şimdi ben önemli olan 1 kaç tane urleyi yazacağım.

https://api.twitch.tv/kraken/channels/ kanal_ismi
//Kanal ile ilgili tüm verileri verir.

https://api.twitch.tv/kraken/streams?channel= kanal_ismi
//Canlı yayın başlamış ise,canlı yayın verilerini verir.

https://api.twitch.tv/kraken/channels/ kanal_ismi /videos?limit= limit_miktarı &broadcasts=true
//Belirtilen miktar sayısında video geçmişindeki son videoları çeker.

Bu urller şimdilik işinizi görür.Diğer urller yukarıda mevcut.Diğer urller ile takipçi verilerini vs alabilirsiniz.Şimdi php ile kullanımına geçelim.

Yukarıda ilk örnekte çıktıya göz atın.
public 'game' => string 'StarCraft II: Heart of the Swarm' (length=32)

gibi bir çok veri var.game değiken ismi,diğer kısım ise içeriği diyebiliriz.Bu veriye şu şekilde erişiriz.
$kanal->game;

İlk örnek de link içinde yeniden bir sürü değişken var.O verilere de
$kanal->_links->follows;

şeklinde erişebiliriz.Mantığı anladınız sanırım.Kapsayıcıdan veriye ulaşıncaya kadar tüm verileri yazarız.
Dikkat etmemiz gereken diğer bir husus ise şu.Videoları çektiğimiz de array olarak gelir.
$kanal->videos[0]->title;//1. videonun başlığı
$kanal->videos[1]->title;//2.nin
$kanal->videos[2]->title;//3.nün ...

Bu şekilde her videonun verisini ayrı alırız.var_dump ile url çıktısı alırsanız arrayı göreceksinizdir.

Genel örnek :
<?php
$video=@json_decode(file_get_contents("https://api.twitch.tv/kraken/channels/esltv_lol/videos?limit=50&broadcasts=true"));
for($i=0;$i<count($video->videos);$i++){
$baslik=$video->videos[$i]->title;
$izlenme=$video->videos[$i]->views;
$resim=$video->videos[$i]->preview;
echo $baslik.'<b> - '.$izlenme.'</b><br />
<img src="'.$resim.'" alt="" />
<br /><br />
';
}
?>


Yukarıda ne yaptık derseniz.Öncelikle bir for yaratıp,video sayısı kadar döndürdük.For'un içinde ise her videonun resim,isim ve izlenme miktarını alıp ekrana yazdırdık.

Temel kullanımı bu şekilde.Dikkat etmemiz gereken bir keç şey var,sunucuda php_openssl ve allow_url_fopen açık olması gerek.Twitch bu şekil de bize json çıktılar ile verileri veriyor. Php ile Jsonu iyi biliyorsanız tüm bilgileri alıp işleyebilirsiniz.



Kod
Kalın
Vurgu
Resim
Video
Url
CEVAPLA
Tüm Hakları Saklıdır. ©Arleone 2013-2014 UstaDerslik






Giriş
Şifremi Unuttum...
Şifre Talep
  Kuralları Kabul Ediyorum.
Kaydol