Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在PHP SDK中获取Facebook好友_Php_Facebook_Facebook Graph Api - Fatal编程技术网

无法在PHP SDK中获取Facebook好友

无法在PHP SDK中获取Facebook好友,php,facebook,facebook-graph-api,Php,Facebook,Facebook Graph Api,我想使用php SDK获得facebook好友。我不能使用最新的PHP SDK,因为它使用名称空间,并且我的应用程序不支持名称空间。我从用户处获得以下权限 email,user_birthday,user_status,publish_stream,offline_access,user_friends 执行代码时,会显示以下Facebook誓言对话 您可以在图像中看到,它不显示用户朋友权限 当我想使用PHP SDK获得用户的朋友时,请使用以下代码: require_once(APP

我想使用php SDK获得facebook好友。我不能使用最新的PHP SDK,因为它使用名称空间,并且我的应用程序不支持名称空间。我从用户处获得以下权限

email,user_birthday,user_status,publish_stream,offline_access,user_friends
执行代码时,会显示以下
Facebook誓言对话

您可以在图像中看到,它不显示用户朋友权限

当我想使用PHP SDK获得用户的朋友时,请使用以下代码:

    require_once(APPLICATION_PATH_LIB . "/Facebook/facebook.php");
    $facebook = new Facebook(array('appId' => $appId, 'secret' => $appSecret));
    $token_url = "https://graph.facebook.com/oauth/access_token?" .
            "client_id=" . $appId .
            "&client_secret=" . $appSecret .
            "&grant_type=client_credentials";
    $app_token = file_get_contents($token_url);
    $app_token = explode("=", $app_token);

    $app_token = $app_token[1];

    $user = $facebook->getUser();



    if ($user) {

        $user_profile = $facebook->api('/me', array('access_token' => $app_token));
        //echo '<pre>';var_dump($user_profile);die;
        $friends = $facebook->api('/me/friends', array('access_token' => $app_token));

       echo '<pre>';print_r($friends);
    }

实际上,他们最近才禁用了该功能--

你现在只能得到同样使用你的应用程序的facebook好友列表

看到这个了吗

(在“权限”下的第二点)

对于这一点似乎存在一些分歧,但根据@drmavelous的说法,如果您提交申请进行审查,并通过应用程序下的“状态和审查”部分申请该权限,您可以获得用户的完整好友列表。
但是,这个过程可能需要一些时间,而且您甚至可能没有被授予权限--

如果您想获得朋友的完整列表,您需要。请注意,这仅适用于facebook游戏。

首先删除发布流、脱机访问。他们已经不存在了。屏幕截图上显示了好友列表。并且错误表示您必须使用用户访问令牌。听起来你在使用应用程序访问令牌,那么我应该使用什么访问令牌?@WizKid我该如何获得它?阅读文档。阅读文档,但无法理解添加内容:为了获得对好友列表的原始访问权限,你必须从Facebook请求访问权限(谁将彻底审查你的应用程序)所以我不能得到用户的所有朋友?是的,这是正确的。你现在只能获得正在使用你的应用程序的朋友列表(没有从Facebook本身请求对你的应用程序的特殊权限)哦,那么我错了-我会相应地编辑我的答案-即使有Facebook的许可,无法再使用/me/friends端点获取完整列表。但这不应被滥用用于任何其他目的。
OAuthException: An active access token must be used to query information about the current user.