Определить, отказано ли пользователю в каких-либо разрешениях в моем приложении Facebook - PullRequest
2 голосов
/ 11 марта 2012

Я запрашиваю несколько дополнительных разрешений при использовании параметра scope при запуске приложения facebook. Можно ли как-то сразу узнать, какие разрешения были отклонены пользователем?

Ответы [ 2 ]

3 голосов
/ 08 марта 2013

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

function checkPermissions($scope, $facebook)
{
    // Break the scope into an array
    $scope = array_map('trim', explode(",", $scope));

    // Get the users permissions from Facebook and put them in an array
    $getUserPerms = $facebook->api('/me/permissions');
    $userPerms = array_keys($getUserPerms['data'][0]);

    // Permissions not granted is the difference between these arrys
    $ungrantedPerms = array_diff($scope, $userPerms);

    if ( ! empty($ungrantedPerms)) {
        // authenticate user again
    }
}

Is предполагает, что область видимости отформатирована следующим образом:

$scope = 'email, user_about_me, user_likes, manage_pages, publish_stream';
1 голос
/ 11 марта 2012

Запрос: https://developers.facebook.com/tools/explorer/?method=GET&path=me%2Fpermissions

См. https://developers.facebook.com/docs/reference/api/user/ для получения дополнительной информации о соединении разрешений объекта пользователя.

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