我在我的CodeIgniter项目中使用此库进行Facebook Graph API访问:http://www.haughin.com/code/facebook/

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

有帮助吗?

解决方案

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

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);

其他提示

如果以某种方式没有安装卷发,则始终可以使用我的代理库: http://codeigniter.com/forums/viewthread/186250/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top