Ошибка разрешений приложения Facebook - PullRequest
0 голосов
/ 07 марта 2012

У меня есть этот код из моего веб-приложения на Facebook:

<code><?php if (!$user_profile) { ?>
        <div class="fb-login-button" data-perms="email,user_birthday,publish_stream">Login with Facebook</div>
    <?php } else { ?>

        Your user profile is
        <pre>
        <?php //print htmlspecialchars(print_r($user_profile, true)) ?>
        
<? php echo $ user_profile ['name']; ?> <? PHP $ data = array ("message" => "Hello Woghfd!"); $ status = $ facebook-> api ("/ me / feed", "POST", $ data); // echo $ user; ?>

У меня есть этот код, простая вещь для публикации на стене пользователя. Я знаю, что мне нужно разрешение для этого publish_stream, поэтому я включил это в кнопку (вверху), но когда пользователь заходит на мой сайт, он получает ошибку:

Фатальная ошибка: Uncaught OAuthException: (# 200) Пользователь не авторизовал приложение для выполнения этого действия

Теперь, когда пользователь выходит из Facebook через Facebook, а затем входит в систему, используя мою кнопку входа в систему, все работает нормально, но как я могу настроить это, чтобы он не показывал эту ошибку при первом посещении сайта ??? Так запутанно!

спасибо:)

1 Ответ

1 голос
/ 09 марта 2012

Ваш оператор if не проверяет, прошел ли пользователь аутентификацию с помощью приложения:

if (!$user_profile)

Чтобы проверить, прошел ли пользователь аутентификацию, выполните что-то вроде этого:

        try {
            $fb_userid = $facebook->getUser();

            // user is authenticated continue normally...

        } catch (FacebookApiException $e) {

            // user is not authenticated, do something else...

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