你的第一個查詢應該是完全不必要的,如Facebook總是提供給uid
通過一個應用程序fb_sig_user
參數(POST或GET)。我不確定您可以使用哪種FQL查詢來獲取基於其他形式信息的uid
。沒有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']);
這應該產生轉儲您的查詢結果。
假設你有你的當前uid
可從fb_sig_user
參數(你應該),那麼你的問題應該可以通過類似這樣解決:
$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);
注意:您可能需要您仔細看看你正在嘗試做的一些查詢。許多表格(如friend
)只能在處理登錄用戶時使用。