Веб-приложение Facebook PHP не работает при доступе из учетной записи, отличной от администратора приложения

У меня есть очень простое приложение PHP, которое извлекает события RSVPd пользователей и друзей, используя FQL. Он использует последнюю версию PHP SKD. Код работает отлично, когда я вошел в систему и прошел проверку подлинности в качестве учетной записи, которая создала приложение, но он завершился с "неизвестной ошибкой", если я вошел в систему и прошел проверку подлинности, как и все остальные.

Вот часть логина моего кода

$config = array();
$config['appId'] = $validId;
$config['secret'] = $validSecret;

$facebook = new Facebook($config);

$uid = $facebook->getUser();

    // get the url where to redirect the user
$location = "". $facebook->getLoginUrl(array('scope' => 'user_events, friends_events'));

// check if we have valid user
if ($uid) {
    try {
        $fb_user_profile = $facebook->api('/me');   

    } catch (FacebookApiException $e) {
        $fb_user_id = NULL;
        // seems we don't have enough permissions
        print '<script language="javascript" type="text/javascript"> top.location.href="'. $location .'"; </script>';

        // kill the code so nothing else will happen before user gives us permissions
        die();
    }

} else {
    // seems our user hasn't logged in

    print '<script language="javascript" type="text/javascript"> top.location.href="'. $location .'"; </script>';

    // kill the code so nothing else will happen before user gives us permissions
    die();
}

print "Authenticated ". $fb_user_profile['name']." <a href='logout.php'>Logout</a><br>";

Вот часть FQL моего кода

$param  =   array(
  'method'    => 'fql.query',
  'query'     => $validFqlQuery,
  'callback'  => '',
  'access_token' => $facebook->getAccessToken()
 );

echo "<br>Working...";

 $fqlResult   =   $facebook->api($param); 

print_r($fqlResult);

1 ответ

Решение

Ваше приложение должно быть проверено Facebook, прежде чем оно станет доступным для входа других пользователей.

Вам не нужно проходить Login Review если ваше приложение запрашивает эти три основных разрешения:

  • общедоступный профиль
  • user_friends
  • Эл. адрес

Чтобы спросить пользователей вашего приложения о любых других разрешениях, вам нужно будет отправить их на проверку.

Однако, чтобы помочь вам создать свой опыт входа в Facebook, разработчики вашего приложения смогут видеть и предоставлять любое разрешение, не требуя проверки со стороны Facebook.

Примечание. Люди, перечисленные на вкладке Роли вашего приложения, будут иметь доступ к расширенным разрешениям без проверки (например, publish_actions или manage_pages). Например, если вы используете плагин Facebook для Wordpress для публикации сообщений в блоге на своей странице или в профиле Facebook, вам не нужно отправлять их на проверку, если все ваши издатели перечислены на вкладке Роли вашего приложения.

Другие вопросы по тегам