【发布时间】:2011-12-12 17:25:59
【问题描述】:
基于this question,有没有办法检查用户是否已使用基于 PHP 的 Facebook SDK 向应用授予了特定权限集? 我浏览了 API,但找不到任何东西。
【问题讨论】:
-
请see my answer使用facebook-php-sdk-v4-5.0.0进行检查
基于this question,有没有办法检查用户是否已使用基于 PHP 的 Facebook SDK 向应用授予了特定权限集? 我浏览了 API,但找不到任何东西。
【问题讨论】:
$permissions = $facebook->api("/me/permissions");
然后使用 if 来检查你需要哪个权限
前:
if (array_key_exists('publish_stream', $permissions['data'][0])) {
postToWall();
} else {
//Does not have permission
}
如果您使用 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/
【讨论】:
这也适用于我,如果我没有访问令牌,但有用户 ID:
$isGranted = $facebook->api(array(
"method" => "users.hasAppPermission",
"ext_perm" => "publish_stream",
"uid" => $facebook_id
));
【讨论】: