2012-07-04 63 views
0

我們開發了一種用於員工敬業度的產品。它提供了一項功能,顯示由您的辦公室成員發佈的推文,如果他們授權了該網站。 tweet的獲取是通過定期cron完成的,定期cron在大約15分鐘的時間內以固定間隔運行。該cron搜索所有授權該網站的應用程序 的用戶,並對其推文進行請求推特。對於每個用戶,一個請求發送到twitter通過cron獲取twiiter feed的API

當前系統正在使用REST API(http://api.twitter.com/1/statuses/user_timeline.xml?user_id='xxxxxx')要求每小時150。 我們不能進行認證的請求,因爲它要求用戶每次授權調用,這在cron發出請求時是不可能的。因此,只需要150個請求 和cron每小時運行四次,就可以僅提取35-40個用戶數據,這些數據不能滿足我們的要求。

此外,我們探討了網站流API的選項。但它需要與twitter建立持久連接,這在使用cron時會很困難。 Site Streaming API的另一個問題是它處於beta版本,並且該網站應該列入白名單。

請幫助我們選擇最佳的替代方案,將幫助我們實現上述目標

+0

當你說「它需要用戶每次授權呼叫」時,我不明白。您應該可以授權用戶一次,然後將Oauth令牌和令牌密鑰存儲在您的數據庫中,以便您可以將其用於將來的請求,而不必重新授權。 –

+0

流媒體API不需要白名單。更好的是,查看[140 dev](http://140dev.com/free-twitter-api-source-code-library/twitter-database-server/install/)服務器。 – Chamilyan

回答

0

有兩個解決方案。

  • 創建一個帳戶來關注已授權您的應用的用戶。然後,簡單地檢索該時間表。

0

我不能肯定100%,爲什麼你不能留通過cron hwoever登錄,您使用的是PHP,我可以建議你看看https://github.com/jmathai/twitter-async/blob/master/EpiTwitter.php這驗證您的OAuth,然後做什麼你想要並關閉請求。

如果你不能用Cron做到這一點,使用serviceUptime.com來調用一個PHP腳本,儘管腳本可以運行的最長時間是35秒,所以不要試圖將所有的阿姆斯壯推文一次全部拉回。 HTH。