0

我试图解决这个问题已经好几个小时了,我已经尝试了所有可用的帖子。

  1. 我没有使用 Javascript SDK。我只使用 PHP SDK 及其最新版本。

  2. 我从 github 下载了最新的证书,并且包含了相同的证书。

  3. 沙盒已禁用

我正在创建一个新的 facebook 库

<?php

include(APPPATH.'libraries/facebook/facebook.php');
class Fbconnect extends Facebook
{
public $user = NULL;
public $user_id = NULL;
public $fb = false;
public $fbSession = false;
public $appkey = 0;
public $tests = 5;

public function Fbconnect()
{

    $ci =& get_instance();
    $ci->load->config('facebook', TRUE);
    $config = $ci->config->item('facebook');
    parent::__construct($config);

    $this->user_id = $this->getUser();
    $me = NULL;


    if($this->user_id)
    {
        try
        {
            $me = $this->api('/me');
            $this->user = $me;
            $tests = $this->user_id;
        }
        catch(FacebookApiException $e)
        {
            error_log($e);
        }
    }

}
}

我的登录控制器

public function facebook_request()
{
    $this->load->library('fbconnect');
    $data = array(
        'redirect_uri' => site_url('login/handle_facebook_login'),
        'scope' => 'email , user_birthday, user_interests'

    );

    redirect($this->fbconnect->getLoginUrl($data));
}

public function handle_facebook_login()
{
    $this->load->library('fbconnect');
    if($this->fbconnect->user)
    {
        echo "<pre>";
        print_r($this->fbconnect->user);
        echo "</pre>";
    }
    else
    {
        echo 'could not login<br/>';

        var_dump($this->fbconnect->user_id);

        echo '<br/>' ; echo  $this->fbconnect->tests; echo '<br/>' ; var_dump($this->fbconnect->tests);
    }

}

我在 /config/facebook.php 中定义了我的 appId 和 secret。

这是输出:

could not login
int(0) 
5
int(5)
4

1 回答 1

0

发现 facebook在应用程序仪表板的siteurl字段末尾需要一个“/” - 正斜杠。

大多数网站会自动添加它。但在这种情况下不是。

希望它可以帮助别人!

于 2013-07-20T16:52:19.877 回答