2 votes

Détecter si un utilisateur a refusé toute permission dans mon application Facebook

Je demande quelques autorisations supplémentaires en utilisant l'option scope lors du lancement de l'application facebook. Existe-t-il un moyen de savoir immédiatement quelles autorisations ont été refusées par l'utilisateur ?

3voto

Chris Hayes Points 127

Voici une fonction simple (modifiée à partir d'une classe que j'ai écrite pour simplifier les appels à l'API Facebook) pour vérifier s'il y a des divergences entre la "portée" de l'application Facebook et les permissions accordées par l'utilisateur.

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
    }
}

Suppose que la portée soit formatée de la manière suivante :

$scope = 'email, user_about_me, user_likes, manage_pages, publish_stream';

1voto

DMCS Points 25136

Une requête : https://developers.facebook.com/tools/explorer/?method=GET&path=me%2Fpermissions

Véase https://developers.facebook.com/docs/reference/api/user/ pour plus d'informations sur la connexion des permissions de l'objet utilisateur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X