Twitter Cursor (İmleç) Kullanımı

Twitter Cursor (İmleç) Kullanımı - Twitter Rest API 1.1 | Bu yazıda Twitter`ın en çok kullanılan yapılarından bir tanesine (Twitter Rest API) değineceğiz.

Twitter Cursor (İmleç) Kullanımı

Bilgileri Yönetme İşlemlerinde İmleçleri Kullanmak

Cursoring (İmleçleme)

Twitter REST API, büyük çaplı sonuçları sayfalamak için cursoring (imleçleme) adında bir tekniği kullanmaya başladı. Cursoring Tekniği (imleçleme tekniği), sonuçları sayfalara (count olarak tanımlanan ve request / istek metodlarıyla çağırılan) ayırıp, bu sayfalar arasında ileri, geri geçişler yapmanızı mümkün kılıyor.

İmleçlenmiş sonuçları bir araya getirmek için, -1 değeriyle imleci bitiş noktasına kadar getirmeniz gerekmektedir. Standart olarak, imleçlemeyi destekleyen Rest API bitiş noktası, eğer herhangi bir imleç / cursor belirtmezseniz -1 değerini alacaktır. İmleçlenmiş isteğe cevap, previous_cursor, next_cursor, previous_cursor_str ve next_cursor_str kodlarını içerecektir. Bu durum bir çok Twitter API`sinin ID değerlerinde mevcut olmasından dolayı, _str değerleri, JavaScript gibi büyük sonuçları desteklemeyen değerler için sunulmaktadır.

Next_cursor imleci, bir sonraki yanıtları toplamak için bitiş noktasına göndermeniz gereken imleçtir. Previous_cursor ise, bir önceki yanıtlar için göndermeniz gereken imleçtir. Rest API size next_cursor=0 yanıtımı verdiğinde, en son sayfada olduğunuzu fark edeceksiniz.

Twitter Kod Örneği

İmleçlenmiş bitiş noktasından itibaren tüm kodları yineleyen örnek kod aşağıdaki gibidir.

  cursor = -1
  api_path = "https://api.twitter.com/1.1/endpoint.json?screen_name=targetUser"

  do {
   url_with_cursor = api_path + "&cursor=" + cursor
   response_dictionary = perform_http_get_request_for_url( url_with_cursor )
   cursor = response_dictionary[ `next_cursor` ]
   }

   while ( cursor != 0 )

Twiitter Takipçi Listeleme

İmleçlerin gerçek hayatta nasıl çalıştığına birlikte göz atalım. Yüksek sayıda takipçisi olan bir kullanıcının takipçilerinin ID’lerinin listesini edinmemiz gereken bir senaryo düşünün. Tüm ID’leri tek bir betikte toplamak yerine, bitiş noktaları, sonuçları sayfalara bölecektir.


İstek (Request)

GET https://api.twitter.com/1.1/followers/ids.json?screen_name=theSeanCook


Yanıt / Response (kesilmiş)

  {
   "ids": [
   385752029,
   602890434,
   ...
   333181469,
   333165023
   ],
   "next_cursor": 1374004777531007833,
   "next_cursor_str": "1374004777531007833",
   "previous_cursor": 0,
   "previous_cursor_str": "0"
   }


Bu noktada, veri setinde ileri gitmek için next_cursor komutunu kullanacağımızı biliyoruz. En az 5,000 sonucu içeren bir sayfaya gitmek için aynı komutu kullanıyoruz fakat cursor komutunu next_cursor değerine giriyoruz.



İstek (Request)

GET https://api.twitter.com/1.1/followers/ids.json?screen_name=theSeanCook&cursor=1374004777531007833



Yanıt / Response (kesilmiş)

   {
      "ids": [
            333156387,
            333155835,
            ...
            101141469,
            92896225
      ],
      "next_cursor": 1323935095007282836,
      "next_cursor_str": "1323935095007282836",
      "previous_cursor": -1374003371900410561,
      "previous_cursor_str": "-1374003371900410561"
   }


Bu örnekte de, aynı next_cursor değeri gibi bir de previous_cursor değerini görüyoruz. Bunun anlamı, sonuçlar arasında ileri geri geçişler yapabileceğimizdir. Şimdi bir sonraki sayfada gelecek muhtemel değerleri de inceleyelim.



İstek (Request)

GET https://api.twitter.com/1.1/followers/ids.json?screen_name=theSeanCook&cursor=1323935095007282836


Yanıt / Response (kesilmiş)

   {
      "ids": [
         73635015,
         61175149,
         ...
         18300955,
         32684766
      ],
      "next_cursor": 0,
      "next_cursor_str": "0",
      "previous_cursor": -1323886329961827926,
      "previous_cursor_str": "-1323886329961827926"
   }



Evvvettt! Bu örnekte next_cursor değeri 0. Bu da bize artık mevcut sayfanın kalmadığını yani son sayfada olduğumuzu gösteriyor. Yani hesabın takipçileri arasında geçiş yapmayı başarılı bir şekilde tamamladık ve son bilgilere ulaştık.

tarihinde Sosyal Medya kategorisinde yazdı2 yorum

Sosyal Medyada Paylaşmak İster Misiniz?
Bizi Takip Etmek İster Misiniz?

Her gün sosyal medya, web tasarım, dijital dünya ve SEO konularında yazılar paylaşıyoruz. Siz de bu yazılardan haberdar olmak isterseniz, bizleri sosyal medya hesaplarımızdan takip edebilir ya da e-posta adresinizi girerek günlük haberleri alabilirsiniz.

Fikirlerinizle Bu Yazıya Katkı Sağlayabilirsiniz

Yazımız hakkında aklınıza bir şeyler mi geldi? Yoksa, eklenebilecek kısımlar olduğunu mu düşünüyorsunuz?

Lütfen, yorumlarınız sayesinde bu yazıyı geliştirmekten çekinmeyiniz. Alt kısımda yer alan yorum ekleme alanını değerli fikirlerinizi eklemek için kullanabilirsiniz.

Mustafa Çağrı Güven

Mustafa Çağrı Güven

Creamive`in kurucu ortağı, Bilgisayar Mühendisi ve dijital stratejisttir.

İlgili Yazılar
Bloggerlar İçin Ücretsiz Domain Sponsorluğu!Bloggerlar İçin Ücretsiz Domain Sponsorluğu!
Blog Açma - Blog Nasıl Açılır - Blogspot AçmaBlog Açma - Blog Nasıl Açılır - Blogspot Açma
Sadakat ProgramıSadakat Programı
TV Reklamlarının Etkisini İzlemek için Arama ve Sosyal Medyayı KullanınTV Reklamlarının Etkisini İzlemek için Arama ve Sosyal Medyayı Kullanın
Müşteri İlişkileri Yönetimi (CRM)Müşteri İlişkileri Yönetimi (CRM)
Google’da Sitenizi Yükseltmek İçin Temel İpuçlarıGoogle’da Sitenizi Yükseltmek İçin Temel İpuçları
Güncel Yorumlar

Öncelikle makale için teşekkürler. Sormak istediğim bir konu var. Bahsettiğiniz gibi cursor değeri 0 (sıfır) olduğunda listenin sonuna gelmiş bulunuyoruz. Bu Twitter web üzerinde de böyle. Mesela bir kişinin takipçilerini yüklerken sonuna gelince 0 oluyor. Listeyi yüklerken kaydırma çubuğunu aşağı çekmeden cursor değeri değişmiyor. Bunu kaydırma çubuğu kullanmadan ¨next_cursor¨ şeklinde bir sonraki verileri yükletmenin bir yolu var mı acaba jquery ile.

Tarayıcı console`unu kullanarak javascript ile takip yaparken sürekli kaydırma çubuğunu da hareket ettirmek gerekiyor. Cursor değerini değiştirmenin bir yolunu arıyorum. Teşekkürler.


twitter api kullanarak bir kullanıcının oluşturduğu listedeki son 20 twiti çekebiliyorum. ama son 200 twiti çekip pagination koymak için ne yapmak gerekir. örnek vermeniz mümkün olur mu?

Yorum Yapalım
Arama Kutusu
Kategoriler
E-Posta Aboneliği

Yazılarımızı takip etmek ister misiniz?

creamive kreatif fikirler web tasarım ajansı