2009-07-26 1 views
0

とFacebookの現在のUIDは、「Query1を」:MY USERIDをNEED GET "query2": "SELECT uid、first_name、last_name FROM user where uid IN(SELECT uid2 FROM WHERE uid1 = MYUSERID)order by first_name"私はFQLと私の現在のUIDを取得することができます..私はfql.multiquery</p> <p>で、ユーザーの友人を得ることで、トラフィックやリクエストを保存する方法FQL

私の友人を返すべきです! ... friends.getを持つユーザーを取得し、その後users.getInfoが2つの要求を必要とし、最適なものではない

はありがとう

答えて

4

Facebookは常にを介してアプリケーションにuidを提供してあなたの最初のクエリは、完全に不要にする必要がありますfb_sig_userパラメータ(POSTまたはGET)。私はあなたがuidを取得するために使用できるFQLクエリの種類が、他の形式の情報に基づいているかどうかはわかりません。 sessionsテーブルやFQLで利用可能なものはありません(使用可能なテーブルはhereと記載されています)。

しかし、マルチクエリの場合は、this pageがあなたの行う必要があることを正確に記述していることは確かですが、私はそれを行う方法でいくつかのコードを一緒に投げます。

それはPHPアプリだった、と私は、このサーバ側をやってみたかった場合、私はJSON形式の文字列のカップルを作成し、次のようにクエリとしてそれらを送信するには:

$fql= '{ 
"userinfo":"SELECT uid FROM user_standard_info WHERE first_name=\'zombat\'", 
"friends":"SELECT uid2 FROM friend WHERE uid1 IN (SELECT uid FROM #userinfo)}" 
}'; 
$res = $facebook->api_client->fql_multiquery($fql); 

print_r($res['userinfo']); 
print_r($res['friends']); 

これは生成する必要がありますクエリの結果をダンプします。

$fql= '{ 
"friends":"SELECT uid2 FROM friend WHERE uid1='.$your_uid.'," 
"friendinfo":"SELECT * FROM standard_user_info WHERE uid IN (SELECT uid2 FROM #friends)" 
}'; 
$res = $facebook->api_client->fql_multiquery($fql); 

:あなたは慎重にしたいことがあり

あなたが現在(あなたがすべき)、その後、あなたの問題は、このような何かによって解決されなければならないfb_sig_userパラメータから入手uid持っていると仮定すると、あなたがしようとしているクエリのいくつかを見てください。 friendのような多くのテーブルは、ログインしているユーザーを扱っている場合にのみ使用できます。

1

関数me()は、ユーザIDをFQLに返します。

友達のリストを取得するには、使用することができます。 http://developers.facebook.com/docs/reference/fql/

SELECT uid, first_name, last_name 
FROM user 
WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) 

あなたはこのここでのドキュメントを見つけることができます

関連する問題