Im делает приложение холста facebook. Чтобы получить информацию о пользователях с помощью PHP SDK:
<? $app_id = ""; $secret=""; $canvas_page = ""; $auth_url = ""; $facebook = new Facebook(array( 'appId' => '', 'secret' => '', )); // Get User ID $user = $facebook->getUser(); if ($user) { try { // Proceed knowing you have a logged in user who's authenticated. $user_profile = $facebook->api('/me'); } catch (FacebookApiException $e) { error_log($e); $user = null; } } // Login or logout url will be needed depending on current user state. if ($user) { $logoutUrl = $facebook->getLogoutUrl(); } else { $loginUrl = $facebook->getLoginUrl(); } $user = $facebook->api('/me'); ?>
Все работает отлично во всех браузерах, кроме IE (все версии). Когда я нажимаю ссылку на другую страницу внутри приложения, я получаю следующую ошибку:
Fatal error: Uncaught OAuthException: An active access token must be used to query information about the current user. thrown in /hermes/bosoraweb019/b2365/ipg.zicedcom/metrik/fbapp/fb/base_facebook.php on line
Код, который я только что показал, находится на всех страницах внутри приложения, и я получаю эту проблему только в IE
Благодаря!
Кажется, что для IE вам нужно включить 3-х сторонние файлы cookie (p3p). Просто изменил заголовок с помощью php:
<? header('P3P: CP="NOI ADM DEV PSAi NAV OUR STP IND DEM"'); ?>