Derlediğim bu PHP fonksiyonu sayesinde kendi çalışmalarınızda, kendi hesabınız üzerinden PHP aracılığı ile Twitter’a mesajlarınızı iletebilirsiniz. Twitter‘in sağlamış olduğu apileri sayesinde kolaylıkla gerçekleştirdiğimiz bu olay gayet basit ve çalışmalarımız için gayet kullanışlı. İşte buyurun fonksiyonumuz ve örnek bir uygulama;
function twitter( $kullanici_adi, $sifre, $mesaj )
{
// Twitter API adresi
$url = 'http://twitter.com/statuses/update.xml';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "$url");
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, "status=$mesaj");
curl_setopt($curl, CURLOPT_USERPWD, "$kullanici_adi:$sifre");
$sonuc = curl_exec($curl);
curl_close($curl);
// her sey yolunda mi?
if (empty($sonuc)):
echo 'tekrar deneyelim';
else:
echo 'mesajimiz iletildi!';
endif;
}
Örnek bir kullanım
twitter( 'bir-kullanici', '123456', 'Selam dünya!' );
Twitter’dan mesajlarınızı okumak için ise aşağıdaki fonksiyonu kullanacağız;
function twitler( $kullanici, $adet )
{
$apiurl = 'http://twitter.com/statuses/user_timeline/'.$kullanici.'.json?count='.$adet;
$twitter = file_get_contents( $apiurl );
$json = json_decode( $twitter );
return $json;
}
Buradan çektiğimiz twitlerdeki geçen zamanı almak içinse gecen_zaman() fonksiyonunu kullanacağız;
function gecen_zaman( $tarih )
{
$tarih = strtotime( $tarih );
$fark = time() - $tarih;
if ($fark <5):
return 'simdi';
elseif($fark <10):
return 'cok az once';
elseif($fark <20):
return 'biraz once';
elseif($fark <40):
return 'yarim dakika once';
elseif($fark <60):
return 'yaklasik 1 dakika once';
endif;
$fark = round($fark / 60);
if($fark <60):
return 'yaklasik '.$fark.' dakika once';
endif;
$fark = round($fark / 60);
if($fark <24):
return 'yaklasik '.$fark.' saat once';
endif;
return date('h:i A F d, Y', $tarih);
}
Ve işte Twitter'dan örnek bir mesaj alma çalışması;
$twitler = twitler( 'strefrextor', 10); foreach( $twitler as $twit ): echo '<h3>'.$twit->text.' - <small>'. gecen_zaman( $twit->created_at ).'</small></h3>'; endforeach;
Hepsi bu kadar.
Bir başka sanal serüvende görüşmek üzere hoşçakalın.
Yazı gerçekten süper. İşe yarar. (:
Sağolasın Musa ;)
teşekkürler
Arşive aldım, çok işe yarayacak… Eline sağlık…
Mesaj gönderme fonksiyonundaki yazdığın kodların 5. satırında hata veriyor.
Kodları deneyipde yayınlıyorum İlker, ayrıca bu fonksiyonları Mikiurl eklentisinde de kullandım. Hata tam olarak ney?
Zaten, “Yazdığın kodlar yanlış” demiyorum. “Hata veriyor” diyorum, sadece geribildirim yapmak istedim. Local’de denemiştim, çalışmamıştı, daha sonra sunucuda denedim, çalıştı…
Curl fonksiyonu lokalde ve bazı serverlarda kapalı oluyor, bu yüzden öyle bir hata olmış olabilirsin.