2012-04-07 4 views
5

これらのユーザーに関するデータとともに、ユーザーの一覧を返すクエリを実行する必要があります。私が1人の人を考えて、彼のすべての信者がどこにいるか知りたいと思うとします。このクエリ:twitter apiのバッチクエリ?

http://api.twitter.com/1/followers/ids.json?screen_name={screen_name} 

は、その人のフォロワーのユーザーIDのリストを返します。次に、各ユーザーIDをこのクエリに接続できます。

http://api.twitter.com/1/users/lookup.json?user_id={user_id} 

ユーザーは、場所に関する情報を取得できます。しかし、それは、その人にフォロワーが1000人いる場合、第2のクエリを1000回呼び出さなければならないことを意味します。フォロワーとその場所を尋ねることができ、これを1つのクエリで行うことができる「結合」(SQLで呼び出される)を行う方が良いでしょうが、これを行う方法はわかりません。

これは可能ですか?また、ユーザー検索を依頼するときに、ユーザーレコード全体ではなく1つのフィールドのみを指定することは可能ですか(SQLではselect *の代わりにselect single_fieldを要求するようなもの)?

答えて

7

クエリで複数のuser_idを列挙できます。例:
http://api.twitter.com/1/users/lookup.xml?user_id=351927492,8602462,132533067,16984020,131217651,125764179

しかし、1000人の信者を持つユーザーのために、あなたが10個のクエリを作成する必要があるので、あなたは、クエリあたり100の値(名前、IDS)に蓋をしました。

更新 APIの1.1バージョンの正しいURLはhttp://api.twitter.com/1.1/users/lookup.json?user_id=351927492,8602462,132533067,16984020,131217651,125764179

+0

おかげだろう。これはかなりの結合ではありませんが、クエリの数を1001から11に減らすので、十分です。あなたは他の質問について何か知っていますか?興味のある分野だけにユーザ検索の結果を限定しますか? –

+0

@JoshuaFrank私が知っているように、このような可能性はtwitter APIには組み込まれていませんが、JSONの操作はほとんどの言語では簡単ですので、問題はありません(ダウンロードしたデータの量を知っている場合は例外です)。 –

+0

あなたは何を意味するのか分かりません。結果としてJSONが得られますが、必要以上に多くのデータを送信すると帯域幅が浪費されます。合意し、必要なデータを結果から得ることは難しくありませんが、必要以上に多くのことを求めない方が良いでしょう。 –