Получение информации о пользователе в Facebook - PullRequest
0 голосов
/ 20 августа 2011

Я пишу приложение для Facebook, которое извлекает некоторую информацию о пользователе и выполняет с ним некоторые манипуляции.

Я получаю права пользователя, например:

$facebook = new Facebook(array(
  'appId'  => APPID,
  'secret' => 'APPSECRET',
));

 $logoutUrl = $facebook->getLogoutUrl();

(разрешение по умолчанию для user_info)

 $user_profile = $facebook->api('/me');

После входа пользователя приложение просматривает несколько страниц PHP и показывает сообщение. На последней странице PHP я снова пытаюсь получить информацию о пользователе.

   $facebook = new Facebook(array(
      'appId'  => APPID,
      'secret' => 'APPSECRET',
    ));

     $logoutUrl = $facebook->getLogoutUrl();
     $user_profile = $facebook->api('/me');

Моя проблема в том, что в некоторых браузерах (Chrome) это работает, а в других браузерах (IE) - нет.
Я получаю Oauth-исключение, что у меня нет действительного ключа аутентификации.

Вы видите, почему это так?

Ответы [ 2 ]

0 голосов
/ 23 августа 2011

Все очень просто:

Сначала вы инициируете facebook:

$facebook = new Facebook(array(
  'appId'  => APPID,
  'secret' => 'APPSECRET',
));

Тогда вы получите пользователя

$user = $facebook->getUser();

И, наконец, вы проверяете, есть ли пользователь или нет, выполняете ли вы все запросы к API Facebook и генерируете URL выхода, если нет, вы получаете URL логина и перенаправляете браузер на этот URL.

if ($user){
   $user_profile = $facebook->api('/me');
   $logoutUrl = $this->facebook->getLogoutUrl();
else{
   $loginUrl = $facebook->getLoginUrl(array('scope' => 'email,user_birthday'));
   echo '<script type="text/javascript">top.location.href = "'.$loginUrl.'"</script>';
}

Это должно работать для всех браузеров, потому что я тестировал, так что удачи.

0 голосов
/ 22 августа 2011

запускает поток аутентификации в таком случае. и если это все еще происходит, посмотрите, действительно ли это происходит в настройках куки.

попробуйте правильно установить заголовок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...