CodeIgniter和Facebook Connect

时间:2012-10-03 21:15:54

标签: facebook codeigniter sdk

我正在尝试将我的Codeigniter网站与Facebook PHP SDK集成。我想要做的是让用户在他们的Facebook墙上分享我的网站上的文章,如果他们登录到Facebook帐户。我的库似乎正确加载,但每次我尝试做某事时,我都会遇到某种错误......主要是使用auth。 getUser似乎没有返回正确的结果。我设置了我的facebook应用程序并为我的库设置了配置变量,但没有运气。它说我没有登录Facebook。当我点击“登录”锚点时,该链接将我带到同一页面,但是使用facebook网址,并且不要求我使用该应用程序登录。这是我的代码:

function facebook($article_id){

$config = array(
    'appId' => '276870792431073',
    'secret' => '8d49eee575413fb9a8063d22f65dbf6a'
);

$this->load->library('facebook', $config);

$user = $this->facebook->getUser();

if($user){

    try {

        $user_profile = $this->facebook->api('/me');

    } catch (FacebookApiException $e){

        error_log($e);
        $user = null;

    }

}

if($user){

    $article = $this->article->fetch_article($article_id);
    $config = array(
        'message' => 'I just read an '.anchor('articles/'.url_title($article['title']).'/'.$article_id, 'article').' on '.anchor('', 'TrackTheOutbreak.com').'!',

    );

    $this->facebook->api('/me/feed', 'post', $config);

} else {

    $data['MESSAGE_TITLE'] = 'Authentication Error';
    $data['MESSAGE_TEXT'] = 'You must be logged into an existing Facebook account to use this feature.  Click '.anchor($this->facebook->getLoginUrl(), 'here').' to login.';
    $this->parser->parse('error_body.tpl', $data);

}

}

$config = array( 'appId' => '276870792431073', 'secret' => '8d49eee575413fb9a8063d22f65dbf6a' ); $this->load->library('facebook', $config); $user = $this->facebook->getUser(); if($user){ try { $user_profile = $this->facebook->api('/me'); } catch (FacebookApiException $e){ error_log($e); $user = null; } } if($user){ $article = $this->article->fetch_article($article_id); $config = array( 'message' => 'I just read an '.anchor('articles/'.url_title($article['title']).'/'.$article_id, 'article').' on '.anchor('', 'TrackTheOutbreak.com').'!', ); $this->facebook->api('/me/feed', 'post', $config); } else { $data['MESSAGE_TITLE'] = 'Authentication Error'; $data['MESSAGE_TEXT'] = 'You must be logged into an existing Facebook account to use this feature. Click '.anchor($this->facebook->getLoginUrl(), 'here').' to login.'; $this->parser->parse('error_body.tpl', $data); }

1 个答案:

答案 0 :(得分:0)

为了访问用户信息并将任何内容发布到他们的墙上,您首先需要从他们那里获取访​​问令牌。要做到这一点,你需要确保你已经通过Facebook的FB_login(然后是Open Graph)获得了他们的许可。我会仔细阅读本指南并确保您已正确设置所有内容以发布到他们的时间表。

https://developers.facebook.com/docs/reference/javascript/FB.login/

我希望这会有所帮助