在Facebook Graph Api中使用AccessToken ONLY访问用户数据


Access users data using AccessToken ONLY in Facebook Graph Api

我正在尝试使用访问令牌访问用户的朋友信息。

所以我创建了一个facebook对象。

$facebook = new Facebook(array(
            'appId' => APP_ID,
            'secret' => APP_SECRET,
            ));

然后,我将访问令牌设置为该对象。

$facebook->setAccessToken(TOKEN);

然后,当我尝试检索用户信息时,它返回0。

$user = $facebook->getUser();

所以下面的代码不会被执行。

if ($user) 
{
    try 
    {
        // Proceed knowing you have a logged in user who's authenticated.
        $user_profile = $facebook->api('/me');
    } 
    catch (FacebookApiException $e) 
    {
        error_log($e);
        $user = null;
    }
}

有人能告诉我我的错误在哪里吗。

您可以使用curl、

例如。

        $params = array('access_token' => self::accessToken);
        $url = "https://graph.facebook.com/me/friends";
        $url .= '?' . http_build_query($params);

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
    curl_setopt($ch, CURLOPT_USERAGENT ,'');
    $output = curl_exec($ch);
    $info = curl_getinfo($ch);
    curl_close($ch);
   $output = json_decode($output);

这将为您提供您使用其访问令牌的人的朋友列表。