【问题标题】:Facebook getUrl returns 0 PHP SDK CodeigniterFacebook getUrl 返回 0 PHP SDK Codeigniter
【发布时间】:2013-07-11 04:59:13
【问题描述】:

我花了好几个小时才弄清楚这个问题,我已经尝试了所有可用的帖子。

  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)

【问题讨论】:

  • 您确定正在加载库吗?
  • 嗯,我在回应 $this->fbconnect->tests,它存在于 facebook 库中。如果没有加载,CI 会给我 PHP 错误吗?

标签: php facebook codeigniter facebook-php-sdk facebook-login


【解决方案1】:

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

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

希望对他人有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-04
    • 2012-07-09
    • 1970-01-01
    • 1970-01-01
    • 2013-10-03
    • 2011-10-11
    • 2013-02-16
    • 2013-03-19
    相关资源
    最近更新 更多