0

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

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

}

}

4

1 回答 1

0

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

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

我希望这有帮助

于 2012-10-04T08:06:21.573 回答