如何让Facebook Application Login工作

时间:2010-12-26 14:16:15

标签: facebook api login

我刚刚开始为Facebook申请,但我很早就遇到了问题。我希望人们做的第一步是允许访问他们的个人资料。整个网络都是如何通过以下方式实现此目的的示例:

$user_id = $facebook->require_login();

但是,这是使用旧PHP API的方式。我已经在我的应用程序文件夹中下载并安装了新的,但它不再起作用了。

我的问题是(我真的一直在寻找答案)使用新API的代码是什么?

(以及相关问题:使用旧API更好,或者在我刚刚开始制作应用时学会使用新API)

我现在有这个代码;

    <?php
        // Awesome Facebook Application
        //
        // Name: -
        //

        require_once 'facebook-php-sdk/src/facebook.php';
        $app_id = "-";
$app_secret = "-";

        // Create our Application instance.
$facebook = new Facebook(array(
        'appId' => $app_id,
        'secret' => $app_secret,
        'cookie' => true
));

$session = $facebook->getSession();
$loginUrl = $facebook->getLoginUrl(
        array(
        'canvas'    => 1,
        'fbconnect' => 0,
        'req_perms' => 'email,publish_stream,status_update,user_birthday, user_location,user_work_history'
        )
);

$fbme = null;

if (!$session) {
    echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
    exit;
}
else {
    try {
        $uid      =   $facebook->getUser();
        $fbme     =   $facebook->api('/me');

    } catch (FacebookApiException $e) {
        echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
        exit;
    }
}


echo "<p>hello, <fb:name uid=\"$user_id\" useyou=\"false\" />!</p>";


?>

1 个答案:

答案 0 :(得分:2)

Download并使用github中的新代码。

如何获得用户权限?

$loginUrl = $facebook->getLoginUrl(array(
    'req_perms' => 'email,user_birthday,publish_stream,sms,status_update,user_location'
));

或者

<fb:login-button perms="email,user_birthday,publish_stream,sms,status_update,user_location"></fb:login-button>

Example如何登录

更新


$session = $facebook->getSession();
$loginUrl = $facebook->getLoginUrl(
        array(
        'canvas'    => 1,
        'fbconnect' => 0,
        'req_perms' => 'email,publish_stream,status_update,user_birthday, user_location,user_work_history'
        )
);

$fbme = null;

if (!$session) {
    echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
    exit;
}
else {
    try {
        $uid      =   $facebook->getUser();
        $fbme     =   $facebook->api('/me');

    } catch (FacebookApiException $e) {
        echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
        exit;
    }
}