无法在PHP SDK中获得Facebook好友

时间:2014-08-19 16:47:50

标签: php facebook facebook-graph-api

我想让facebook的朋友使用php SDK。我不能使用最新的PHP SDK,因为它使用名称空间,我的应用程序不支持名称空间。我从用户

获得以下权限
email,user_birthday,user_status,publish_stream,offline_access,user_friends

执行代码时,它会显示以下Facebook OATH Dialogue

enter image description here

你可以在图片中看到它不会向用户朋友显示权限。

当我想使用以下代码使用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);
    }

它给了我以下错误

OAuthException: An active access token must be used to query information about the current user.

2 个答案:

答案 0 :(得分:1)

他们最近实际上禁用了这个---

您现在只能获取同时使用您的应用的Facebook好友列表。

请参阅此GraphAPI reference

(&#34; Permissions&#34下的第二点;)

似乎对此存在一些分歧,但是,根据@drmarvelous,您可以获取用户&#39;如果您提交申请以供审核并通过&#34;状态&amp;审查&#34;您应用下的部分。 但是,这个过程可能需要一些时间,您甚至可能无法获得许可 -

答案 1 :(得分:1)

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