Twitter Uygulamaları – 3) Otomatik Tweet Atmak
Merhaba arkadaşlar, sizlere twitterın API servisi aracılığı ile yapabileceklerinizi anlatacağım bu serinin üçüncü yazısında, otomatik tweet atma işlemini nasıl yapacağımızdan bahsedeceğim. İlk yazımda API servisini nasıl kullanacağımızı, nasıl yeni bir uygulama oluşturabileceğimizi anlatmıştım. Twitterda nasıl uygulama oluşturacağınızı bilmiyorsanız linki ziyaret ederek öğrenebilirsiniz. İkinci yazımda ise API bilgilerini sistemimize entegre etme yöntemini göstermiştim. Şimdi ise uygulama vakti, otomatik tweet atma işlemi ile başlıyoruz.
Oluşturacağımız sistemden tweet atabilmek için, Twitterın bize sunduğu bağlantıları kullanmalıyız. Bu bağlantılara bu link aracılığı ile gözatabilirsiniz. İndirdiğimiz kütüphanede bu bağlantıların fonksiyonları mevcut bizde bu fonksiyonlar aracılığı ile işlemlerimizi gerçekleştireceğiz. Tweet gönderme işlemini statuses/update bağlantısını kullanarak yapacağız.
Atacağımız tweetleri bir txt dosyasından, veritabanından veya başka bir kaynaktan çekebiliriz. Ben veritabanı kullanarak tweet çekmeyi göstereceğim. İlk iki adımı yaptıktan sonra, oluşturduğumuz PHP sayfasına giriyoruz. “header.php” sayfasında oluşturduğumuz bağlantı değerlerini sayfamıza ekledikten sonra,
//Twitter Bağlantısı
$tweet = new TwitterOAuth($consumerKey, $consumerSecret, $accessToken, $accessTokenSecret);
şeklinde twitter ile bağlantı kuruyoruz.
Sonrasında yapacağımız işlem veritabanında tuttuğumuz tweetlerimizi rastgele çekerek tweetlemek. Rastgele id çekmek için random bir değişken oluşturuyoruz. Daha sonra veritabanımızda tweetleri tuttuğumuz tabloya giderek bu tweetleri, oluşturduğumuz random id ile çekiyoruz.
$twid = rand(48,124); //Rastgele id üretmemizi sağlayacak kod
$sonuc = mysql_query(“select * from tweets where tweet_id=‘”.$twid.“‘”); //Tweetleri çektiğimiz kod
while($a = mysql_fetch_array($sonuc)) //Çektiğimiz tweetleri yazdırdığımız kod
{
$twit = $a[‘tweet’];
}
Böylelikle sayfayı her yenilediğimizde random bir tweet elde etmiş olacağız. Sonrasında,
// 140 karaketer izini
if(strlen($twee) <= 140) {
// Tweet Gönder
$tweet->post(‘statuses/update’, array(‘status’ => $twit));
kodları ile tweet gönderme işlemimizi tamamlıyoruz. Eğer tüm adımları doğru uygularsanız aşağıdaki resimdeki PHP sayfasını elde edeceksiniz.
Twitterın “statuses/update” methodunu kullanarak tweetimizi başarılı bir şekilde göndermiş olduk. Bu işlemi otomatik olarak yapmak için, sayfayı <?php Header(“Refresh: 120;”); ?> komutu ile belirlediğiniz sürede yenileyebilirsiniz veya farklı bir sayfada buton oluşturup, tıklandığında bu sayfanın açılmasını sağlarsanız her açılışta yeni bir tweet göndermiş olacaksınız. Ayrıca uygulamayı Ajax/JQuery kullanarak sayfa yenilenmedende tweet gönderme işlemini gerçekleştirebilirsiniz.
Evet arkadaşlar sizlere Twitter API methodlarını kullanarak nasıl otomatik tweet atabileceğimizi anlatmaya çalıştım, umarım faydalı bir yazı olmuştur. Soru ve önerilerinizi yorum olarak ya da e-mail göndererek iletebilirsiniz, teşekkürler.
bir itiraf sitem var. bu sitenin databaselerinden itirafları linkleriyle beraber tweet attırmak istiyorum. fakat databaseden bilgi çekme kısmını düzenlemem gerekiyor. pek bilmediğim için sizden yardım istiyecektim.
Merhaba, öncelikle veritabanı ile bağlantı kurmanız gerekli.
$user = “kullaniciadi”; //veritabanı kullanıcı adı
$pwd = “sifre”; //veritabanı şifresi
$host = “localhost”; //mysql server
$db = “Veritabaniadi”; //veritabanı adı
$conn = mysql_connect($host,$user,$pwd) or die(“MySQL sunucusuna baglanilamadi!!!”.mysql_error());
mysql_select_db($db) or die(“Veritabani secilemedi!!!”.mysql_error());
Bu şekilde veritabanı ile bağlantınızı oluşturduktan sonra, itiraflarınızın olduğu tablodan random olarak verileri çekmeli, ve bu işlemi belirli aralıklarla yaptırmak istiyorsanız bir js fonksiyonu ile zamana bağlayabilir veya php sayfa yenileme işlemi ile belirli aralıklarla sayfanızı yenileyerek tweet gönderebilirsiniz.
Örneğin;
PHP KODLARI
//rastgele tweet çekmek için bir sayı üretiyoruz
$twid= rand(1,100);
//tweetlerin olduğu tablodan tweet idsine göre rastgele tweet çekiyoruz
$sonuc = mysql_query(“select * from tweets where tweet_id='”.$twid.”‘”);
//çektiğimiz tablodaki verilerden bize lazım olan verileri değişkende tutuyoruz
while($a= mysql_fetch_array($sonuc))
{
$itiraf= $a[‘itiraf’];
$link= $a[‘link’];
}
$tweet = $itiraf . ” ” . $link ;
//Değişkendeki verileri tweet olarak gönderiyoruz.
if(strlen($twee) < = 140) { // tweet $tweet->post(‘statuses/update’, array(‘status’ => $tweet));
Bu sayfayı belirli aralıklarla çalıştırmak için :
JS KODLARI
var interval; //bir interval tanımlıyoruz
//bir start fonksiyonu oluşturuyoruz ve içine ajax isteği açıyoruz. Yukarıdaki kodlarımızı tweet gonder.php sayfasına yazıyoruz ve aşağıda belirlediğimiz zaman değerine göre sayfamızı sürekli ziyaret ederek kodlarımızın çalışmasını sağlıyoruz.
function start() {
$.ajax({
type: “POST”,
url: “tweetgonder.php”,
});
setTimeout(function(){
interval = setInterval(send,$(‘600’).val()*1000);
}, $(‘600’).val()*1000);
}
Basitçe anlatmaya çalıştım, takıldığınız bir yer olursa sorabilirsiniz.
İyi günler, bu kodlar ile tweet attıramıyorum.
header.php
index.php
post(‘statuses/update’, array(‘status’ => $twit));
?>
0531 830 82 64
İyi günler, takıldığınız nokta veya aldığınız bir hata varsa yazarsanız yardımcı olabilirim.
Emeğine sağlık hocam.Ancak bende kodları çalıştıramadım.header.php içinde neler var, ne zaman mysql bağlantısını include etmemiz gerekiyor,hangi kısımda twitter token’larımızı yazmamız gerekiyor anlayamadım.Acaba kodları paylaşma imkanınız var mı? Ya da mail atabilir misiniz? Saygılar.
Merhabalar, bu konunun anlatımı 3 farklı yazıdan oluşuyor, ilk iki yazıyı okumadan sanırım üçüncü yazıya geçmişsiniz. İlk yazımda header.php içinde neler olduğunu paylaşmıştım, aşağıda linkini yazıyorum. Tüm adımları dikkatlice uygularsanız, sorunsuz şekilde çalışacaktır. Kolay gelsin..
2. Yazı Linki