начиная с thinkdiff.net учебник Я создал простую тестовую страницу (локальный env) со ссылкой для входа / выхода из Facebook. Если я вошел в систему, я хочу отобразить пользовательский интерфейс fb.
Я использую последнюю версию facebook PHP SDK (v.2.1.2) .
Кажется, это работает, но когда я выхожу из системы, я получаю это исключение:
FacebookApiException Object
(
[result:protected] => Array
(
[error] => Array
(
[type] => OAuthException
[message] => Error validating access token: The session is invalid because the user logged out or because auth.expireSession was invoked.
)
)
[message:protected] => Error validating access token: The session is invalid because the user logged out or because auth.expireSession was invoked.
[string:Exception:private] =>
[code:protected] => 0
[file:protected] => C:\wamp\www\fb\facebook.php
[line:protected] => 543
[trace:Exception:private] => Array
(
[0] => Array
(
[function] => _graph
[class] => Facebook
[type] => ->
[args] => Array
(
[0] => /me
)
)
[1] => Array
(
[file] => C:\wamp\www\fb\facebook.php
[line] => 492
[function] => call_user_func_array
[args] => Array
(
[0] => Array
(
[0] => Facebook Object
(
[appId:protected] => 1819654718*****
[apiSecret:protected] => a2fccb8e93638b50c8d6b2**********
[session:protected] =>
[signedRequest:protected] =>
[sessionLoaded:protected] => 1
[cookieSupport:protected] => 1
[baseDomain:protected] =>
[fileUploadSupport:protected] =>
)
[1] => _graph
)
[1] => Array
(
[0] => /me
)
)
)
[2] => Array
(
[file] => C:\wamp\www\fb\fb.php
[line] => 33
[function] => api
[class] => Facebook
[type] => ->
[args] => Array
(
[0] => /me
)
)
)
[previous:Exception:private] =>
)
это код моей тестовой страницы
<code>$fbconfig['appid'] = "18196**********";
$fbconfig['api'] = "5c6910be575e4e688ac6d**********";
$fbconfig['secret'] = "a2fccb8e93638b50c8d6b2**********";
try
{
include_once "facebook.php";
}
catch(Exception $o)
{
echo '<pre>';
print_r($o);
echo '
';
}
// Создать наш экземпляр приложения.
$ facebook = новый Facebook (массив ('appId' => $ fbconfig ['appid'], 'secret' => $ fbconfig ['secret'], 'cookie' => true));
$ session = $ facebook-> getSession ();
$ fbme = null;
// Сеансовый вызов API графа.
if (! empty ($ session))
{
д ($ сессия);
пытаться
{
$ uid = $ facebook-> getUser ();
$ fbme = $ facebook-> api ('/ me');
}
поймать (FacebookApiException $ e)
{
д ($ е);
}
}
функция d ($ d)
{
echo '
';
print_r($d);
echo '
';
}
если ($ fbme)
{
$ logoutUrl = $ facebook-> getLogoutUrl ();
echo "
logout ";
д ($ FBME);
}
еще
{
$ loginUrl = $ facebook-> getLoginUrl (массив ('req_perms' => 'email, read_stream, user_birthday'));
echo "
логин ";
}
спасибо
Лука