Я вхожу в FB, если создаю страницу напрямую на domain.com/someurl.php
В тот момент, когда я копирую тот же код (включая html) в файл представления с codeigniter и захожу на domain.com/login/someurl.html, он не работает. Под этим не работает, я имею в виду, я получаю исключение, если я пытаюсь получить доступ / меня после входа в Facebook.
Сообщение гласит: «Активный токен доступа должен использоваться для запроса информации о текущем пользователе» ...
В моем контроллере у меня есть функция индексации, и все, что она делает, это загружает представление с помощью кода входа в Facebook.
Мне показалось, что я что-то делаю не так, но я скопировал sample.php из SDK facebook и вставил его в файл представления, и произошло то же самое. Если я скопирую пример кода в файл someurl.php, он будет работать как положено ... учитывая ситуацию, в которой я подозревал, что это может быть связано с codeigniter и, возможно, с каким-то параметром конфигурации, который у меня вызывает такое поведение ...
Я уже давно искал ошибку и нашел несколько ресурсов:
http://benbiddington.wordpress.com/2010/04/23/facebook-graph-api-getting-access-tokens/
Facebook access_token недействителен?
Проблема аутентификации Facebook
https://github.com/facebook/php-sdk/wiki/AccessToken
но ни одно из предложенных исправлений не сработало.
справа от образца:
// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
'appId' => 'APPID',
'secret' => 'SHHHH',
));
// Get User ID
$user = $facebook->getUser();
// We may or may not have this data based on whether the user is logged in.
//
// If we have a $user id here, it means we know the user is logged into
// Facebook, but we don't know if the access token is valid. An access
// token is invalid if the user logged out of Facebook.
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();
}
Это не работает в представлении, и я озадачен тем, почему или почему ни одно из исправлений или «мер предосторожности», таких как не использование type или обеспечение того, что URL-адрес перенаправления одинаков и т. Д., Не работает.
EDIT:
Я пытаюсь избежать использования domain.com/somefile.php и вместо этого использую файл представления, как и любую другую страницу ...