Исключение: 100 при использовании социального плагина Comment Facebook в приложении Facebook (код ответа: 206) - PullRequest
0 голосов
/ 29 февраля 2012

Я использую социальный плагин Comment в приложении Facebook, используя код ниже

<div class="fb-comments" data-href="<?php echo $fbconfig['appBaseUrl']; ?>" data-num-posts="20" data-width="480"></div>

Где $ fbconfig ['appBaseUrl'] - это URL моего приложения в Facebook (http://apps.facebook.com/[appname])

Когда пользователь публикует комментарий, этот комментарий отображается на временной шкале вместе с его комментарием, но также с этим исключением:

"Uncaught Exception: 100: null does not resolve to a valid user ID"

Я пытался использовать отладчик открытого графа, но больше информации не предоставляется, за исключением кода ответа 206

http://developers.facebook.com/tools/debug/og/object?q=apps.facebook.com%2Fmesresolutions

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<br><b>Fatal error</b>
</head>
<body><p>:  Uncaught Exception: 100: null does not resolve to a valid user ID
  thrown in <b>/home/kastelni/www/facebook/mesresolutions/fb/base_facebook.php</b> on line <b>708</b><br></p></body>
</html>

Знаете ли вы, что не так с моим приложением или с плагином? Нужна помощь;)

Спасибо за вашу помощь! Yann

1 Ответ

1 голос
/ 17 октября 2012

Нашел решение.

Я проверял, был ли текущий пользователь фанатом моего приложения.Но это невозможно сделать, если это первое соединение пользователя.

Для тех, кого интересует фрагмент кода:

$user       = $facebook->getUser();
$loginUrl   = $facebook->getLoginUrl(
        array(
            //'scope'         => 'email,publish_stream,user_birthday,user_location,user_work_history,user_about_me,user_hometown'
            'scope'         => 'user_about_me'
        )
);

if ($user) {
  try {
    // Proceed knowing you have a logged in user who's authenticated.
    $user_profile = $facebook->api('/me');
    $user_perm = $facebook->api('/me/permissions');
  } catch (FacebookApiException $e) {
    //you should use error_log($e); instead of printing the info on browser
    //d($e);  // d is a debug function defined at the end of this file
    $user = null;
  }
}

try
{
    if(isset($user_profile['id']))
    {
        //Est-ce que l'utilisateur est FAN
        $isFan = $facebook->api(array(
            "method"    => "pages.isFan",
            "page_id"   => $fbconfig['pageId'],
            "uid"       => $user_profile['id']
        ));
    }
    else
        $isFan = 0;
}   
catch(Exception $o){
    $isFan = 0;
}
...