2011-12-12 13 views

Respuesta

33
$permissions = $facebook->api("/me/permissions"); 

continuación, utilizar el caso para comprobar qué permisos necesita

EX:

if (array_key_exists('publish_stream', $permissions['data'][0])) { 
    postToWall(); 
} else { 
    //Does not have permission 
} 

Si está utilizando FQL

$perms = $facebook->api(array(
    "method" => "fql.query", 
    "query" => "SELECT read_stream,offline_access,publish_stream FROM permissions WHERE uid=me()" 
     )); 
echo "<ul>"; 
foreach ($perms[0] as $k => $v) { 
    echo "<li>"; 
    if ($v === "1") { 
     echo "<strong>$k</strong> permission is granted."; 
    } else { 
     echo "<strong>$k</strong> permission is not granted."; 
    } 
    echo "</li>"; 
} 

http://www.masteringapi.com/tutorials/how-to-check-if-user-has-certian-permission-facebook-api/22/

+1

El estilo del código de fragmento de código FQL parece feo. ¿Podrían reformatearlo con la sangría de bloque correcta? Es generalmente fácil editar su código en su editor preferido de lo que necesita para agregar una sangría de 4 espacios a todo el fragmento de código y copiarlo/pegarlo aquí. – lig

2

Esto también trabajó para mí, en los casos en que no tiene un token de acceso, pero no tenía el ID del usuario:

$isGranted = $facebook->api(array(
    "method" => "users.hasAppPermission", 
    "ext_perm" => "publish_stream", 
    "uid"  => $facebook_id 
)); 
Cuestiones relacionadas