如何检查用户是否已授予我的PHP应用程序一定的权限集?

Val*_*sso 7 php facebook-graph-api

基于这个问题,有没有办法检查用户是否使用基于PHP的Facebook SDK为应用程序授予了一组特定权限?我浏览了API但找不到任何东西.

Mar*_*rio 33

$permissions = $facebook->api("/me/permissions");
Run Code Online (Sandbox Code Playgroud)

然后使用if来检查您需要哪个权限

EX:

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

如果您使用的是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>";
}
Run Code Online (Sandbox Code Playgroud)

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