0

我遇到了 Facebook PHP API 的问题

<?php
$fb_ = new Facebook(array(
    'appId'  => 'MY_APPID',
    'secret' => 'MY_SECRET'
)); 
$userId = $fb_->getUser();
$errorMessage = null;

if ($userId) {
    try {
        $user_ = $fb_->api('/me');
        if (isset($user_['error_code'])) {
            $errorMessage = isset($user_['error_msg']) ? self::$user_['error_msg'] : 'An unknown error occurred';
            $errorMessage .= ' (' . $user_['error_code'] . ')';
            $user_ = null;
        }
    } catch (FacebookApiException $e) {
        $errorMessage = $e->getMessage();
        $user_ = null;
    }
}

if (!$user_)  {
    $loginUrl = $fb_->getLoginUrl(array(
        'scope' => 'email,publish_stream,user_birthday,user_location,publish_actions',
        'next' => 'http://www.mywebsite.com'
    ));
    echo '<a href="'.$loginUrl.'">Connect!</a>';
} 
?>

我的问题是:当我点击“连接!” 我被重定向到 facebook 主页。任何想法?

4

2 回答 2

0

我找到了原因。看起来我使用的是旧版本的 Facebook 和已弃用的 getSession。

于 2012-11-14T08:41:04.797 回答
0

对话 url 的结构如下:

$loginUrl = "https://www.facebook.com/dialog/oauth?client_id="
                . $appId . "&redirect_uri=" . $redirectUrl . "&state="
                . $_SESSION['state'] . "&scope=" . $scope;

回显您的 $loginUrl 并检查字符串是否是正确的 url 字符串以及结构是否相同。

于 2012-11-13T14:59:24.250 回答