1

我在我的 codeigniter 项目中使用这个库来访问 Facebook 图形 API: http ://www.haughin.com/code/facebook/

我的网络应用程序使用 Facebook JS SDK 在客户端对用户进行身份验证,然后在登录完成后立即通过 AJAX 请求将用户的用户 ID 和会话对象发送到我的服务器。我想从服务器调用图形 API 以接收用户的基本信息,所以我想知道是否有一种方法可以绕过调用 facebook->login() 方法以通过 a 接收会话的需要从脸书重定向?有人知道怎么做吗?

4

2 回答 2

2

我根本不推荐 Facebook SDK。如果您自己做事情,您将拥有更多的控制权,并且变得更加简单。只需设置一个 cURL 函数,如:

function curl($url, $request = 'GET'){
    $ch = curl_init();
    $curlopt = array(
        CURLOPT_URL => $url,
        CURLOPT_CUSTOMREQUEST => $request,
        CURLOPT_CONNECTTIMEOUT => 10,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_TIMEOUT        => 60,
        CURLOPT_USERAGENT      => 'facebook-php-2.0',
    );
    curl_setopt_array($ch, $curlopt);
    $response = curl_exec($ch);
    if($response === false)
        trigger_error(curl_error($ch));
    curl_close($ch);
    return $response;
}

然后是 Facebook api 函数,如:

function fb_api($url, $access_token = false, $request = 'GET'){
    $url = 'https://graph.facebook.com/'.$url;
    if($access_token)
        $url .= (strstr($url, '?') ? '&' : '?').'access_token='.$access_token;
    return json_decode(curl($url, $request), true);
}

然后您可以向图形 api 发出请求,例如:

fb_api('me', $access_token);

于 2011-07-23T23:34:04.627 回答
0

如果由于某种原因你没有安装 curl,你总是可以使用我的代理库:http ://codeigniter.com/forums/viewthread/186250/

于 2011-07-24T09:32:02.230 回答