Mikroblog sitelerinin ön plana çıkmasındaki en büyük etken olarak Twitter gösterilebilir. Kullanıcılar durumlarını 140 karakterle anlatırken, arkadaş listesi oluşturarak diğer kullanıcıların yazdıklarını anlık olarak takip edebilmektedirler.
Twitter’ın oluşturduğu API’leri kullanarak Twitter üzerinde işlem yapan bir çok araç geliştirilmektedir.
API’leri kullanarak Twitter’dan bilgi çeken uygulamalar genelde PHP kullanılarak yazılıyor. Daha sonra ASP.Net geliyor. ASP ile yazılmış örnek ise pek bulunmuyor. Tabii ki bunun nedeni ASP’nin PHP ve ASP.Net kadar esnek bir dil olmaması…
Bu yazımızın konusu ASP kullanarak Twitter’daki takip ettiğimiz kişi sayısını bulmak olacak.
Twitter API’leri ile JSON ve XML olmak üzere iki farklı dosya türünde veri çekilebilir. Bu örnekte XML kullanılmıştır.
<% 'XML verilerini okumak için XMLDOM nesnemizi oluşturuyoruz Set objXML = Server.CreateObject("Microsoft.XMLDOM") objXML.async = false objXML.setProperty "ServerHTTPRequest", true %> |
XMLDOM nesnemizi oluşturduktan sonra Twitter üzerinden bir xml sayfası çekmemiz gerekiyor. Bu işlemi gerçekleştirebilmek için bize gereken ise bir kullanıcı adı… Bu kullanıcı örnek sayfa üzerinden form yardımıyla gönderebiliriz. Aynı sayfada QueryString’den kullanıcı adını alarak XML dosyasını belirliyoruz.
<% 'QueryStringden gelen twitter adını çekiyoruz t = Request.QueryString("t") If t <> "" Then 'Twitter adı varsa 'Twitter adını kullanarak XML dosyasını belirliyoruz xmlFile = "http://twitter.com/statuses/friends/"&t&".xml" objXML.Load xmlFile 'Dosyayı açıyoruz Set objItems = objXML.getElementsByTagName("user") '<user> dizisinin toplam eleman sayısını buluyoruz ArkadasSayisi = Int(objItems.Length) %> |
Buradaki ArkadasSayisi değişkeni kullanıcının takip ettiği diğer kullanıcıların(following) sayısını vermektedir.
Toplam kişi sayısını bulduğumuza göre bu listeyi bir tabloya dökebiliriz. Bu işlemi For Each … Next döngüsü kullanarak yapacağız.
<% 'Arkadaş Sayısı sıfırdan büyükse tümünü listeliyoruz If ArkadasSayisi > 0 Then %> <table border="0" cellpadding="5" cellspacing="0" class="twitter"> <tr> <th>Resim</th> <th style="width:150px;">Kişi</th> <th style="width:100px;">Twitter Adı</th> <th style="width:70px; text-align:right">Twit Sayısı</th> <th style="width:80px; text-align:right">Twitter Link</th> </tr> <% i = 1 For Each objItem in objItems name = objItem.selectSingleNode("name").Text sname = objItem.selectSingleNode("screen_name").Text resim = objItem.selectSingleNode("profile_image_url").Text twit = objItem.selectSingleNode("statuses_count").Text %> <tr <%If i mod 2 = 0 Then%> style="background:#eee;"<%End If%>> <td><img src="<%=resim%>" style="border:1px #ccc solid;" alt="<%=name%>" width="48" height="48"/></td> <td><%=name%></td> <td><a href="?t=<%=sname%>"><%=sname%></a></td> <td align="right"><%=twit%></td> <td align="right"><a href="http://twitter.com/<%=sname%>" target="_blank"><%=sname%></a></td> </tr> <% i = i + 1 Next %> </table> <% End If %> |
selectSingleNode kullanarak çektiğimiz name değeri kişinin adını, screen_name değeri kişinin twitter adını, profile_image_url değeri kişinin profil görselini ve statuses_count değeri kişinin toplam twit sayısını vermektedir.
Bunların dışında çekilebilecek bir çok veri bulunmaktadır. Örnek linki kullanarak bu verileri görebilirsiniz.
Hazırlamış olduğum uygulamayı bu linkten görebilir veya bu linki kullanarak indirebilirsiniz.
“Ben kodlarla falan uğraşamam, yok mu bunun hazırı?” diye sorarsanız, TwitterCounter sitesinde bulunan çeşitli araçları kullanabilirsiniz.
Bir sonraki yazımızda bir kişinin yazdığı son 5 statünün nasıl alınacağını göreceğiz.
KAYNAKLAR:
Twitter API Wiki / Twitter API Documentation
DİĞER DİLLERDE YAZILMIŞ ÖRNEKLER:
http://blog.dmbcllc.com/2009/05/21/twitter-from-aspnet-retrieving-statuses/ (ASP.Net)
http://www.tufantunc.com/php-ile-twitter-statu-alma/ (PHP)
http://gkaans.org/makaleler/javascript/jquery-ile-jsondan-veri-cekmek/ (JQuery)
Pingback: ASP ile Twitter İşlemleri 2 | alperdereli.com