Facebook PHP SDK Verify Like возвращает «НЕ ФАН» для некоторых фанатов - PullRequest
0 голосов
/ 21 февраля 2012

Мы боремся с проблемой, которая сводит меня с ума.

Используя этот код ...

$facebook = new Facebook($config);

$uid = $facebook->getUser();

if ($uid) {
  try {
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    error_log($e);
    $uid = null;
  }
}

if(!$uid) {
$params = array(
  'scope' => 'email',
  'redirect_uri' => 'https://www.mysite.com/'
);

$loginUrl = $facebook->getLoginUrl($params);

header("Location: $loginUrl");
}

$email = $facebook->api('/me?fields=email');
$email = $email['email'];

$verifyLike = $facebook->api('/me/likes/page_id');
if($verifyLike['data']) {
    echo "FAN"; 
} else {
    echo "NOT A FAN";
}

Мы получаем около 8% пользователей, которые видят "НЕ ФАН", и они на самом деле являются поклонниками нашей страницы.

Я не могу понять свою проблему, и у меня заканчиваются идеи.

Кто-нибудь знает, что является причиной этой проблемы, и, что более важно, что мы можем сделать, чтобы ее исправить?

Спасибо.

ОБНОВЛЕНИЕ 25.02.12 Сообщил об ошибке в Facebook, и они изменили статус ошибки на «Triaged» и приоритет «Низкий», но у них еще нет решения, и они все еще изучают его. Никто другой не испытывает эту проблему?

1 Ответ

1 голос
/ 26 февраля 2012

Это не ошибка Facebook, если на страницах пользователя настроена конфиденциальность меньше всех, вы должны запросить у пользователя расширенное разрешение user_likes.

Так что эти 8% ваших пользователей имеют больше конфиденциальностина их профилях в Facebook и их лайки не являются публичными.Для всех остальных пользователей вам даже не нужен действительный access_token в запросе API.

...