API приложения Facebook проверяет, является ли пользователь администратором приложения в Facebook - PullRequest
5 голосов
/ 11 ноября 2010

у меня есть:

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

Ответы [ 5 ]

6 голосов
/ 01 апреля 2011

Для получения такой информации вы можете использовать FQL:

protected function authorizeByFb(){

        $result = $this->fb->api(array(
          'method' => 'fql.query',
          'query'  => "SELECT developer_id FROM developer WHERE application_id='{$appId}' AND developer_id='{$fbUserId}'",
        ));     

        if(count($result)==1){
            return true;
        }

        return false;
    }
2 голосов
/ 13 ноября 2011

если ваше разработанное приложение проверяет роль зарегистрированного пользователя Facebook или просто ваше приложение хочет распознать его владельца или администратора, тогда http://developers.facebook.com/tools/explorer/?method=GET&path=me%2Faccounts должен иметь этот идентификатор приложения в списке

вызов API:

FB.api('/me/accounts', 'get', {"access_token":access_token}, function(response){
    //loop through response to check any application id matches current application id
});

образец ответа:

{
  "name": "app_name",
  "access_token": "current_token_here",
  "category": "Application",
  "id": "your_owned_app_id"
},
{
  "name": "app_name1",
  "access_token": "current_token_here",
  "category": "Application",
  "id": "your_owned_app1_id"
},
1 голос
/ 24 февраля 2011

Я только что заставил это работать, используя API JS Facebook:

FB.api({ method: 'pages.isAdmin', page_id : fbAppId }, function(response){
    if(response){
        alert('the user is an admin');
    }else{
        alert('the user is not an admin')
    }
});

Он использует метод FB.api для доступа к старому API REST.Предполагается, что вы уже вызвали FB.init, поэтому убедитесь, что он идет после кода инициализации.

Cheers,
Jeremy

0 голосов
/ 03 мая 2013

Я попытался выполнить приведенную выше форму javascript и обнаружил, что этот метод работает в качестве альтернативы теперь, когда старый restful api обесценивается

function checkAdmin(fbUID, fbAppID){

   FB.api({

    method: 'fql.query',
    query: 'SELECT role FROM app_role WHERE developer_id ='+fbUID+' AND application_id = '+fbAppID

    },
    function(response) {
       if(response.length){
            alert('User is an Admin');
        }
        else{
            alert('User is not an Admin')
        }
    });
 }
0 голосов
/ 02 октября 2011

Вы можете получить подписанный запрос и затем проверить, если page_admin = 1

<?php
$signed_request = $facebook->getSignedRequest();

$page_admin  = $signed_request["page"]["admin"];
if ( $page_admin == 1 ){ 
echo 'Welcome Admin!';
} 
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...