2011-12-12 8 views

risposta

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

quindi utilizzare il caso per verificare che il permesso è necessario

EX:

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

Se si utilizza 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

Lo stile del codice frammento di codice FQL sembra brutto. Potresti riformattarlo con il rientro del blocco corretto. Solitamente è facile modificare il codice nel tuo editor preferito di quello che è necessario aggiungere 4 rientri di spazi all'intero frammento di codice e copiarlo/incollarlo qui. – lig

2

Anche questo ha funzionatoper me, nei casi in cui non ho avuto un token di accesso, ma aveva l'ID dell'utente:

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