2012-03-07 4 views
0

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

<?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)) ?> 
     </pre> 



     <?php echo $user_profile['name']; ?> 

     <?php 
     $data = array("message" => "Hello Woghfd!"); 
     $status = $facebook->api("/me/feed", "POST", $data); 
     //echo $user; 

     ?> 
    <?php } 

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

Неустранимая ошибка: Неиспользуемый OAuthException: (# 200) Пользователь не разрешил приложению выполнить это действие.

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

спасибо :)

ответ

1

Ваш если заявление не проверяет, если проверка подлинности пользователя с приложением:

if (!$user_profile) 

Чтобы проверить, является ли проверка подлинности пользователя, сделать что-то вроде этого:

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

      // user is authenticated continue normally... 

     } catch (FacebookApiException $e) { 

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

     } 
Смежные вопросы