在我的一个facebook应用程序中,我需要列出我在db中的用户(宽度为其ID)。我需要他们的名字,照片和Facebook的其他细节。具体来说,我需要列出前100名用户(考虑他们在应用程序中的点数)。
我使用fql测试了它:
$query = "select my top 100 users";
$result = mysql_query($query);
// Foreach user
while ($row = mysql_fetch_array($result)) {
$user_id = $row['user_id'];
$total_score = $row['total'];
$fql = "select name from user where uid=" . $user_id;
$param = array(
'method' => 'fql.query',
'query' => $fql,
'callback' => ''
);
// Get user names through fql query
$fqlResult = $facebook->api($param);
$user_name = $fqlResult[0]['name'];
// Print user details, photo, name, total score..
}
fql方式足够有效吗?
OR
另一种方式?像图api:
function getName($id) {
$facebookUrl = "https://graph.facebook.com/".$id;
$str = file_get_contents($facebookUrl);
$result = json_decode($str);
return $result->name;
}
答案 0 :(得分:0)
使用FQL使用uid = xx或uid = xx等来点击Facebook,并立即获取所有内容。
此外,图表API是与Facebook进行通信的首选方式,但您需要进一步调查以查看是否可以同时获取多个用户的详细信息。
现在进一步思考,您是否需要将access_token附加到具有脱机访问权限(正在折旧)的这些调用中以获取信息。
我实际上认为编写整个应用程序的更好方法是在用户连接到您的应用而不是批量处理时捕获此信息。