2009-09-03 7 views
1

私は自分のブログにウィジェットを作成しようとしています。約20のツイッターアカウントを持ち、各アカウントの最後の2つの投稿を表示しています。現時点では、各アカウントのforループを実行するjqueryベースのバージョンがあります。当然、私は、時間当たりの150の要求に対してかなり早く立ち上がりました。私の質問は二重です:マルチユーザtwitter feed

この情報を取得するより効率的な方法がありますか? Twitterアカウントを開いて、必要なすべてのユーザーをフォローして、自分のアカウントの友人面を参照するだけでいいですか?

制限にぶつからないようにJSONレスポンスをキャッシュする方法はありますか?あるいは、結果全体をファイルに書き込んで、限界に達すると参照する必要がありますか?

私はWordpress/LAMPで作業しているプラ​​ットフォームについても言及する必要がありますが、技術が終わるのは気にしません。

おかげで、すべての

答えて

2

各アカウントからの2つのポストを示す保証するためには、あなたはおそらく、それぞれが個別にダウンフィードプルする必要があると思います。 1人の作者が100のつぶやきを書いた場合、他の人のつぶやきは、1つの組み合わせのフィード内で簡単に到達することはできません。

あなたの最善の策は、クライアント側でjqueryとAJAXを使用するのではなく、つぶやきをダウンロードしてサーバーに一時的にキャッシュするPHPを取得することです。あなたはPHPを行うことができれば、かなり簡単なWordpressのプラグインがそれを行うだろう。アレックスキングはTwitter WordPress pluginと書いて、1つのアカウントをプルダウンすることができます。

0

あなたの提案は最も最適な方法のようです。余分なTwitterアカウントを作成し、友人のタイムラインを使ってこのデータを集計します。大規模な処理はすべてTwitterの終わりに任せてください。

結果をサーバー側に約1分間キャッシュしてください。

0

Twitterの検索APIを使用して、1つのリクエストから複数のユーザーから最新のツイートを取得することができます。 qパラメータは、複数の値をとることができます。from:user jQueryを使用した簡単な例を以下に示します。

var query = escape("from:biz OR from:twitter OR from:bob"), 
    url = "http://search.twitter.com/search.json?callback=?&q=" + query; 

$.getJSON(url, function(data){ 
    $.each(data.results, function(i, tweet){ 
    $('body').append("<p>" + tweet.text + " by " + tweet.from_user_name + "</p>"); 
    }); 
});