我正在使用the most recent version of the Facebook SDK(虽然我不确定,但它可以连接到名为'graph API'的东西)。我已经改编了Facebook的示例代码,让我连接到Facebook并且有效...但我无法获得我朋友的列表。
$friends = $facebook->api('friends.get');
这会产生错误消息:“致命错误:未捕获OAuthException:(#803)您请求的某些别名不存在:在第543行的/mycode/facebook.php中抛出的friends.get”
不知道为什么会这样或者意味着什么。有人能告诉我正确的语法(最新的Facebook API)来获取朋友列表吗? (我试过“$ friends = $ facebook-> api-> friends_get();”并得到一个不同的错误,“致命错误:在/ mycode / example中的非对象上调用成员函数friends_get()。 php在第129行“。)
我可以确认,在我的代码中这一点之前,事情很好:我通过有效会话连接到Facebook,我可以获取我的信息并将其转储到屏幕上...即此代码执行完全之前失败的朋友。来电:
$session = $facebook->getSession();
if ($session) {
$uid = $facebook->getUser();
$me = $facebook->api('/me');
}
print_r($me);
答案 0 :(得分:58)
我认为这就是你想要的:
$friends = $facebook->api('/me/friends');
答案 1 :(得分:23)
这是PHP代码的实时版本,可以让您的朋友从Facebook
<?php
$user = $facebook->getUser();
if ($user) {
$user_profile = $facebook->api('/me');
$friends = $facebook->api('/me/friends');
echo '<ul>';
foreach ($friends["data"] as $value) {
echo '<li>';
echo '<div class="pic">';
echo '<img src="https://graph.facebook.com/' . $value["id"] . '/picture"/>';
echo '</div>';
echo '<div class="picName">'.$value["name"].'</div>';
echo '</li>';
}
echo '</ul>';
}
?>
答案 2 :(得分:12)
获取像@nfvs这样的朋友描述是一种好方法。它输出一个多维数组,所有朋友都有属性id和名称(按id排序)。你可以看到这样的朋友照片:
foreach ($friends as $key=>$value) {
echo count($value) . ' Friends';
echo '<hr />';
echo '<ul id="friends">';
foreach ($value as $fkey=>$fvalue) {
echo '<li><img src="https://graph.facebook.com/' . $fvalue->id . '/picture" title="' . $fvalue->name . '"/></li>';
}
echo '</ul>';
}
答案 3 :(得分:7)
对于使用Graph API的v2.0绊倒这个问题的任何人来说,这只是一个问题:这将不再适用。在v2.0中,呼叫/我/朋友只返回也使用该应用的朋友的列表:
- 需要具有user_friends权限的用户访问令牌才能查看当前此人的朋友。
- 这只会返回使用(通过Facebook登录)申请的应用的任何朋友。
- 如果此人的朋友拒绝了user_friends权限,该朋友将不会出现在此人的朋友列表中。
答案 4 :(得分:3)
如果要使用REST端点,
$friends = $facebook->api(array('method' => 'friends.get'));
如果您使用的是图形api,则使用
$friends = $facebook->api('/me/friends');
答案 5 :(得分:3)
在最新版本的facebook sdk中,由于安全原因,facebook已禁用允许您访问某个朋友列表的功能...查看文档以了解详情......
答案 6 :(得分:2)
使用FQL,它就像SQL一样,但对于Facebook的数据表,并且很容易涵盖您想要制作的数据查询。 您不必使用所有这些/ xx / xxx / xx调用,只需知道您所参与的表和列。
$myQuery = "SELECT uid2 FROM friend WHERE uid1=me()";
$facebook->api( "/fql?q=" . urlencode($myQuery) )
的精彩互动示例
答案 7 :(得分:0)
使用CodeIgniter OAuth2 / 0.4.0 sparks,
<\ n>在Auth.php文件中,
$user = $provider->get_user_info($token);
$friends = $provider->get_friends_list($token);
print_r($friends);
并在Provider下的Facebook.php文件中添加以下函数,
public function get_friends_list(OAuth2_Token_Access $token)
{
$url = 'https://graph.facebook.com/me/friends?'.http_build_query(array(
'access_token' => $token->access_token,
));
$friends = json_decode(file_get_contents($url),TRUE);
return $friends;
}
prints the facebenter code hereook friends.
答案 8 :(得分:0)
friends.get
是获取朋友列表的功能
是的,这是最好的
$friends = $facebook->api('/me/friends');
echo '<ul>';
foreach ($friends["data"] as $value) {
echo '<li>';
echo '<div class="pic">';
echo '<img src="https://graph.facebook.com/' . $value["id"] . '/picture"/>';
echo '</div>';
echo '<div class="picName">'.$value["name"].'</div>';
echo '</li>';
}
echo '</ul>';
答案 9 :(得分:0)
https://graph.facebook.com/v1.0/me/friends?limit=${limit}&access_token=${accessToken}
这个 api 对我有用 试试这个
答案 10 :(得分:-3)
标题('Content-type:text / html; charset = utf-8');
在您的页面中输入。