Facebook PHP oauth не работает для некоторых пользователей

пользователь a — администратор приложения. Запуск приложения по протоколу HTTP.

getUser() дает идентификатор пользователя

пользователь b — не администратор Запуск приложения по HTTP

getUser() дает ноль, а URL-адрес выглядит следующим образом:

Ниже приведен код пользователя для авторизации пользователя,

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

 $user = $facebook->getUser();
    $loginUrl   = $facebook->getLoginUrl(
            array(
                 'scope' => 'publish_stream,email',
                 'redirect_uri' => 'https://www.facebook.com/pages/test?sk=app_23423423'

            )
    );


   if (!$user) {?>
  <a href="<?php echo $loginUrl ?>">Facebook Login</a>
            else
            {
                 echo "<script type='text/javascript'>location.href = 'test.php?Id=$user'</script>";  

            }
                   }

person ram    schedule 22.11.2012    source источник


Ответы (1)


Всякий раз, когда вы получаете

ошибка = доступ запрещен

в $_REQUEST обратно из Facebook вы не получите идентификатор пользователя, и это потому, что пользователь вошел в систему или авторизовал ваше приложение, чтобы вы могли получить идентификатор пользователя. Это то же самое, что и в случае, когда ни один пользователь не вошел в систему. Вы можете получить причину и описание из $_REQUEST['error_reason'] и $_REQUEST['error_description'] соответственно, чтобы отобразить дополнительную информацию для пользователя или для ваших записей.

person Anvesh Saxena    schedule 22.11.2012
comment
: Большое спасибо, что нашли время ответить на мой вопрос, как мне исправить эту ошибку? - person ram; 22.11.2012
comment
if (!$user) {?> <a href="<?php echo $loginUrl ?>">Facebook Login</a><?php echo ((isset($_REQUEST['error']))? "Please allow permission to continue":"");?> else { echo "<script type='text/javascript'>location.href = 'test.php?Id=$user'</script>"; } } Извините за плохой отступ кода в комментарии - person Anvesh Saxena; 22.11.2012