如何检查用户是不是已授予我的 PHP 应用程序的特定权限集?
Posted
技术标签:
【中文标题】如何检查用户是不是已授予我的 PHP 应用程序的特定权限集?【英文标题】:How to check if a user has granted a certain set of permissions to my PHP app?如何检查用户是否已授予我的 PHP 应用程序的特定权限集? 【发布时间】:2011-12-12 17:25:59 【问题描述】:基于this question,有没有办法检查用户是否已使用基于 php 的 Facebook SDK 向应用授予了特定权限集? 我浏览了 API,但找不到任何东西。
【问题讨论】:
请see my answer使用facebook-php-sdk-v4-5.0.0进行检查 【参考方案1】:$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/
【讨论】:
FQL 代码片段代码样式看起来很难看。你能否用正确的块缩进重新格式化它。在您喜欢的编辑器中编辑代码通常很容易,而您只需在整个代码片段中添加 4 个空格缩进并将其复制/粘贴到此处。【参考方案2】:这也适用于我,如果我没有访问令牌,但有用户 ID:
$isGranted = $facebook->api(array(
"method" => "users.hasAppPermission",
"ext_perm" => "publish_stream",
"uid" => $facebook_id
));
【讨论】:
以上是关于如何检查用户是不是已授予我的 PHP 应用程序的特定权限集?的主要内容,如果未能解决你的问题,请参考以下文章
如何检查用户是不是已在 React Native Android 中授予相机权限?
如何知道用户之前是不是已经授予 Facebook SDK 权限
在 Xamarin android 代码中找不到“ACCESS_BACKGROUND_LOCATION”权限。我需要检查用户是不是已授予此权限