假设我是让用户使用facebook登录我的网站,通过以下网址:
http://www.facebook.com/dialog/oauth?client_id=$appId&
redirect_uri=$return&scope=user_birthday,email,user_location
有没有办法让我获得所有用户的朋友列表并显示图片(如果有的话)?我可以使用哪种图形API函数来执行此操作?
答案 0 :(得分:3)
您必须对https://graph.facebook.com/me/friends
示例在这里:http://developers.facebook.com/docs/reference/api/
只要您拥有用户ID,就可以将<img src="" />
指向http://graph.facebook.com/<user_id>/picture
网址。
答案 1 :(得分:1)
确保您已经在Facebook上设置了应用程序,因为您需要使用API密钥才能使用官方Facebook apis完成大部分操作。来自Joey Rivera的Here是一个很好的参考,如果你仍然需要这样做的话。只需按照第一部分设置应用程序即可完成所有操作。
API函数为FB.api("/me/friends")
(Source)。它返回一个JSON对象数组,每个朋友都有Facebook ID和Name。如果您想获取图片,则需要查询列表中的每个朋友,等同于FB.api("/me/picture/"
。您可以使用FQL执行此操作,嵌入在朋友列表中的for语句中。或者,对[Friend Facebook id]/picture
进行简单api调用的类似方法会在公开提供时提供给您。
您可能仍需要明确询问图片文件,因为它只会为您提供文件名。
这假定您的应用程序的Javascript实现。
答案 2 :(得分:1)
经过适当的Facebook身份验证后,用户才能登录.....
您可以使用fql查询访问他的朋友列表....
以下对我来说很好......
<?php
try
{
$fql = "SELECT uid, name, pic_square FROM user WHERE uid = me()
OR uid IN (SELECT uid2 FROM friend WHERE uid1 = me())";
$param = array(
'method' => 'fql.query',
'query' => $fql,
'callback' => ''
);
$fqlResult = $facebook->api($param);
}
catch(Exception $o)
{
d($o);
}
?>
答案 3 :(得分:0)
试试这个:
http://graph.facebook.com/<user_id>/picture
例如:
http://graph.facebook.com/4/picture
这将显示标记照片