Что такое метод проверки пользовательского вентилятора страницы в API GRAPH?

В графе api, метод Pages.isFan не работает, что такое метод проверки пользовательского вентилятора страницы в графике api?

Благодарю.

ОБНОВЛЕНИЕ 2:
Чтобы проверить, является ли текущий пользователь фанатом страницы Facebook при посадке на вашей вкладке, проверьте этот ответ .


ОБНОВИТЬ:
Вы можете использовать likes соединение, чтобы проверить, является ли пользователь фанатом страницы:

 https://graph.facebook.com/me/likes/PAGE_ID &access_token=ACCESS_TOKEN 

Это вернет либо пустой массив данных:

 Array ( [data] => Array ( ) ) 

Или, если вентилятор:

 Array ( [data] => Array ( [0] => Array ( [name] => Real Madrid CF [category] => Professional sports team [id] => 19034719952 [created_time] => 2011-05-03T20:53:26+0000 ) ) ) 

Таким образом, мы проверяем использование PHP-SDK:

 <?php require '../src/facebook.php'; // Create our Application instance (replace this with your appId and secret). $facebook = new Facebook(array( 'appId' => 'APP_ID', 'secret' => 'APP_SECRET', )); $user = $facebook->getUser(); if ($user) { try { $likes = $facebook->api("/me/likes/PAGE_ID"); if( !empty($likes['data']) ) echo "I like!"; else echo "not a fan!"; } catch (FacebookApiException $e) { error_log($e); $user = null; } } if ($user) { $logoutUrl = $facebook->getLogoutUrl(); } else { $loginUrl = $facebook->getLoginUrl(array( 'scope' => 'user_likes' )); } // rest of code here ?> 

Подобный скрипт с использованием JS-SDK:

 FB.api('/me/likes/PAGE_ID',function(response) { if( response.data ) { if( !isEmpty(response.data) ) alert('You are a fan!'); else alert('Not a fan!'); } else { alert('ERROR!'); } }); // function to check for an empty object function isEmpty(obj) { for(var prop in obj) { if(obj.hasOwnProperty(prop)) return false; } return true; } 

Код, взятый из моего учебника .


Хотя pages.isFan все еще работает для меня, вы можете использовать таблицу FQL page_fan с новым PHP-SDK:

 $result = $facebook->api(array( "method" => "fql.query", "query" => "SELECT uid FROM page_fan WHERE uid=$user_id AND page_id=$page_id" )); if(!empty($result)) // array is not empty, so the user is a fan! echo "$user_id is a fan!"; 

Из документации:

Чтобы прочитать таблицу page_fan, вам нужно:

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

Вот еще один подход, который опирается на переменную POST signed_request, которую Facebook отправляет на каждую страницу приложения табуляции (если у вас включен расширенный параметр «OAuth 2.0 for Canvas».

Самое приятное в этом – вам не нужно отправлять другой файл fql.query.

Или вы можете использовать fbml, если вы хотите, например, показать какой-то контент, если они фанат или сделать какой-то динамический материал.

пример:

 <fb:fbml version="1.1"> <fb:visible-to-connection>This part is visible for fans only! <fb:else>This part is visible for non-fans</fb:else> </fb:visible-to-connection> </fb:fbml>