Не удается обнаружить Facebook, как для страницы - PullRequest
0 голосов
/ 26 марта 2012

Существуют ли какие-либо настройки Facebook, настройки браузера, брандмауэры, плагины для браузера и т. Д., Которые могут помешать приложению Facebook проверять, понравилась ли пользователю определенная страница (кстати, пользователь уже дал разрешение на доступ к основной информации)?Я попробовал 3 метода, но для некоторых пользователей обнаружение не удалось (или иногда не удалось).Ниже приведены методы, которые я тестировал

FQL Query

public function getLikedUser($user_id, $page_id){
  $result = $this->facebookObject()->api(array(
    "method" => "fql.query",
    "query" => "SELECT uid FROM page_fan WHERE uid=$user_id AND page_id=$page_id"
  ));

  if(count($result)){
    return true;
  }else{
    return false;
  }
}

REST API

public function getLikedUser($user_id, $page_id){

  $like = $this->facebookObject()->api($user_id.'/likes/'.$page_id);

  if(!empty($like['data'])){
    return true;
  } else {
    return false;
  }
}

Graph API

public function getLikedUser($user_id, $page_id){
  $like = file_get_contents("https://graph.facebook.com/".$user_id."/likes/".$page_id."&access_token=".$this->facebookObject()->getAccessToken());
  $likeD = json_decode($like);  
  if(!empty($likeD->data)){
    return true;
  } else {
    return false;
  }
}

Но иногда они терпели неудачу.Кто-нибудь знает, почему для некоторых пользователей иногда обнаруживается сбой страницы, такой как обнаружение?

1 Ответ

0 голосов
/ 26 марта 2012

Как описано в документации для page_fan таблицы:

Для чтения таблицы page_fan вам нужно

  • любой действительный access_token, если он общедоступен (видим длялюбой пользователь на Facebook).
  • user_likes разрешения при запросе текущего пользователя.
  • friends_likes разрешения при запросе друга пользователя.

likes соединение для user ведет себя так же.

Ваши пользователи должны предоставить user_likes разрешение, чтобы иметь возможностьпроверьте, понравилась ли пользователю определенная страница (в противном случае вы не получите эту информацию).

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