Как мне заставить работать приложение Facebook Войти? - PullRequest
0 голосов
/ 26 декабря 2010

Я только начал создавать приложение для Facebook, однако я рано столкнулся с проблемой.Первый шаг, который я хочу, чтобы люди сделали, - это дать разрешение на доступ к их профилю.Во всем Интернете приведены примеры того, как это сделать с помощью:

$user_id = $facebook->require_login();

Тем не менее, именно так все и работает, используя Old PHP 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 Ответ

2 голосов
/ 26 декабря 2010

Загрузите и используйте новый код с 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>

Пример как войти

Обновление


$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;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...