getUser() всегда возвращает 0, даже если я вошел в систему

Я тестирую некоторый код на основе example.php, и getUser() возвращает 0, хотя я в настоящее время вошел в систему на FB. Код на моей странице index.php выглядит следующим образом:

<?php

include 'fbLibrary/facebook.php';

$facebook=new Facebook(array(
        'appId' => 'myAppID',
        'secret' => 'mySecret',
        'cookie' => true
        ));


$user=$facebook->getUser();
echo "getUser() returned " . $user . "<p>";


if ($user)
{
    //fb query
    try
    {
        $me=$facebook->api('/me');
        print_r($me);

    }
    catch (FacebookApiException $e)
    {
        echo $e->getMessage();
    }
}


if ($me)
{
    $logoutUrl=$facebook->getLogoutUrl();
    echo "<a href='$logoutUrl'>Logout</a>";
}

else
{
    $loginUrl=$facebook->getLoginUrl(array(
        'scope' => 'friends_status,publish_stream'
    ));
    echo "<a href='$loginUrl'>Login</a>";
}

?>

Когда я перехожу на страницу index.php, эхо-тест «getUser() return» возвращает 0. И хотя $loginUrl установлен на URL-адрес, когда я нажимаю на него, я просто переношу меня на ту же страницу index.php.

Если я выхожу из FB и перезагружаю страницу, когда я нажимаю «Войти», я попадаю на Facebook, чтобы войти в свое приложение. Затем, когда я успешно вошел в систему, я возвращаюсь на страницу index.php с неработающим URL-адресом для входа, а getUser() продолжает возвращать 0.

Я только что загрузил PHP SDK вчера, поэтому я предполагаю, что он актуален.


person Joshua Sorkin    schedule 28.05.2012    source источник
comment
Вы используете последнюю версию php sdk? Вы правильно указали URL сайта в настройках приложения? URL-адрес в siteUrl и URL-адрес перенаправления должны совпадать   -  person Jashwant    schedule 29.05.2012
comment
@Jashwant, что вы подразумеваете под URL-адресом перенаправления? Я настроил это приложение как веб-сайт с входом через Facebook, но, похоже, не было поля для URL-адреса перенаправления. Но адрес сайта правильный.   -  person Joshua Sorkin    schedule 29.05.2012
comment
@Jashwant, да, я получил SDK с этого сайта.   -  person Joshua Sorkin    schedule 29.05.2012
comment
Это очень странно. Я только что изменил AppId и Secret на значения для другого приложения, и теперь getUser() возвращает мой UserID. Я не понимаю, почему; между этими двумя приложениями нет никакой разницы, кроме их названий. И я предоставил разрешения обоим приложениям. Но это пока работает.   -  person Joshua Sorkin    schedule 29.05.2012
comment
А сейчас опять не работает. Очень загадочно.   -  person Joshua Sorkin    schedule 29.05.2012


Ответы (1)


Затем вы можете установить домен параметров класса FB. Что-то вроде этого:

<?php
$facebook = new Facebook(array(
'appId' => APP_ID,//$app_id,
'secret' => APP_SECRET,//$app_secret,
'cookie' => true,
'domain'=>'xxxdomain.com',
));
$session = $facebook->getUser(); 
person Marin Bînzari    schedule 28.05.2012