Tweet Yarışma mantık (Twitter)

2 Cevap php

Disclaimer: I have no Twitter API experience nor have I used Twitter until today

Ben bir 'tweet yarışma' oluşturma görevi verilen oldum - Herkes Twitter API deneyime sahiptir ve / veya geçmişte bu yapmış ise, ben olabilecek herhangi bir yararlı ipuçları seviniriz.

Yani temel kuralları yarışmaya katılmak için bir kullanıcı için sırayla, kullanıcı yarışmanın twitter uymalı ve 'http://foo.com/contest sadece girilen bir yarışma' gibi belirli bir mesajla, ile retweet gerektiğini söyledi vardır.

Sorular:

  1. Girenleri almak için, ben yarışmanın rss feed ayrıştırmak zorunda, http://twitter.com/statuses/user%5Ftimeline/21586418.rss sadece bu yüzden muhtemelen tüm iletileri almak için Twitter API ile etkileşim olurdu son birkaç mesajları listelemek gibi görünüyor. Birisi belgelerine veya bu kapsayan bir sayfayı tavsiye edebilir misiniz?

  2. Ben yerel bir xml dosyasında gerçek kullanıcılar saklamak veya Twitter API sorgulama güvenmek gerekir eğer tam olarak emin değilim, ben bunları saklamak eğer bir kullanıcı önbellek yerel bir kopyası olurdu ... Bir veritabanı overkill ve eğer olurdu ben doğru, bir xml dosyasında daha iyi olurdu onları saklamak için mi?

  3. Ben tüm tweets veri akışı ayrıştırmak zaman içerisinde 1. İlgili, aslında kullanıcı tweet vardır kesin mesaj için ayrıştırmak gerekir, örneğin, dizeyi "sadece bir yarışma girdi?" Ya da ben kullanabilir etiketleme sistemi çeşit var mı?

  4. 1. İlgili, ben kullanıcı bir takipçisi olup olmadığını belirlemek gerekir, bu yüzden bir giriş / tweet ayrıştırma, ben insanların o / o, kullanıcının kimliği ve kapmak istatistik sorgulamak zorunda olacağını belirleyemez izler?

2 Cevap

Sen URL için arama yapabilir, ancak en iyi yaklaşım hashtag kullanmak olacaktır:

just entered #supercoolcontest for http://foo.com/contest

Sen gerekli yarışma URL veya ne olursa olsun diğer kelimeleri isteyebilirsiniz içeren # supercoolcontest vakalarından arayabilirsiniz. Bu, kullanıcıların retweeting zaman metin kesin olmak zorunda değilsiniz sağlamak ve aynı zamanda insanların izlenebilir olan genel bir şekilde yarışma hakkında konuşmak için bir yol verir olacaktır.

Sen kullanarak bir hashtag ile tüm tweet'leri çekin search API yapabilirsiniz:

http://search.twitter.com/search.json?q=%23supercoolcontest

Sadece, yerine n tweets n kullanıcıların, sizinle ilgisi olan sadece küçücük bir kısmını ilgilendiğiniz tweets çekmek için garantili çünkü bu, muhtemelen en etkili yaklaşımdır.

Bunu API besleme (her n dakikada) kazımak Her zaman yeni, özgün kullanıcıları takın. Ben bir veritabanı kullanmak istiyorum - zor veya zaman alıcı bir tablo ya da iki bir şey ayağa. Daha sonra karşı sorgulamak için daha kolay.

Son soruyu cevaplamak için, belirli bir kullanıcı başka bir kullanıcı aşağıdaki olmadığını belirlemek için ayrı bir API çağrısı yapmak gerekiyor.

Ben yine de ben şimdi Twitter'ın Streamming API http://dev.twitter.com/pages/streaming_api Bu yaklaşımın avantajı kullanarak bu sorunu çözmek için başka bir yolu olduğunu yorumlamak istiyorum, artık bu eski bir sorudur ve meder alakalı muhtemelen değildir biliyorum sen onlar oluşturulan doğru bazı koşulları yerine tüm tweets göndermek için twitter anlatıyorsun.

Arama API ile tüm zaman yeni tweets için twitter yoklamak gerekir ve bazıları arama sonuçlarında eksik olacağı büyük bir şans var; bu arada Geldikleri gibi tweets twitter ve işlemek için açık bir bağlantıyı tutmak akış API ile, Twitter size koşulları karşılayan tüm tweets alacak garanti değil, ama benim deneyim riski çok daha düşüktür.