簡體   English   中英

推特競賽邏輯(Twitter)

[英]Tweet Contest logic ( Twitter )

免責聲明:直到今天我都沒有Twitter API經驗,也沒有使用過Twitter

我已經承擔了創建“推特競賽”的任務-如果任何人具有Twitter API經驗和/或過去曾做過,我將不勝感激您可能擁有的任何有用技巧。

因此,基本規則是,為了使用戶能夠參加競賽,該用戶必須關注競賽的Twitter,並且必須轉發特定的消息,例如“剛剛參加了http://foo.com/contest競賽”。

問題:

  1. 為了獲得參賽者,我必須解析比賽的RSS提要, http://twitter.com/statuses/user_timeline/21586418.rss似乎只列出了最近的幾篇文章,所以我可能必須與Twitter API進行交互為了得到所有消息。 有人可以推薦涵蓋此內容的文檔或頁面嗎?

  2. 我不確定我應該將實際用戶存儲在本地xml文件中還是依靠查詢Twitter API,如果我存儲它們,那么我將緩存用戶的本地副本...如果數據庫過大,我是否可以將它們存儲在xml文件中會更好,對吧?

  3. 與#1相關,當我解析所有推文的數據饋送時,我是否應該解析用戶必須發的確切消息(例如,“剛參加比賽”)的確切字符串? 還是我可以使用某種標記系統?

  4. 與#1相關,我將不得不確定用戶是否是關注者,因此我無法通過解析條目/推文來確定用戶ID並從他/她的人那里獲取統計信息跟隨?

您可以搜索URL,但是最好的方法是使用井號

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

您可以搜索#supercoolcontest事件,其中包含所需的比賽URL或您可能想要的其他任何關鍵字。 這樣可以確保用戶在轉推時不必精確輸入文字,還可以讓人們以一種可追蹤的一般方式談論比賽。

您可以使用搜索API提取所有帶有主題標簽的tweet:

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

這可能是最有效的方法,因為可以保證只拉出您感興趣的tweet,而不是來自n個用戶的n條tweet,其中只有一小部分與您有關。

每次您抓取該API供稿時(每隔n分鍾),請插入一個新的唯一用戶。 我會使用數據庫-用一兩個表站立起來並不困難或很費時間。 以后更容易查詢。

要回答您的最后一個問題,您確實需要進行單獨的API調用,以確定給定用戶是否跟隨另一個用戶。

我知道這是一個老問題,可能不再與混戰相關,不過我想評論一下,現在有了使用Twitter的Streaming API http://dev.twitter.com/pages/streaming_api解決此問題的另一種方法這種方法的意思是,您要告訴Twitter在生成它們時立即發送完成某些條件的所有Tweet。

使用搜索API,您需要一直在Twitter上輪詢新的tweet,並且有更大的機會在搜索結果中丟失其中的一些tweet。 同時,使用流式API,您可以保持與Twitter的開放連接並在Twitter出現時處理這些Twitter消息,Twitter不能保證您將獲得所有符合條件的Twitter消息,但是根據我的經驗,風險要低得多。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM