基於this question,有沒有一種方法可以檢查用戶是否已經使用基於PHP的Facebook SDK爲應用程序授予了一定的權限集? 我瀏覽過API但找不到任何東西。如何檢查用戶是否授予我的PHP應用程序的某些權限?
7
A
回答
33
$permissions = $facebook->api("/me/permissions");
然後使用if來檢查需要哪些權限
EX:
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/
+1
FQL代碼片段代碼樣式看起來很醜。你能否用正確的塊縮進來重新格式化它。在首選編輯器中編輯代碼通常很容易,而不需要在整個代碼片段中添加4個空格縮進並將其複製/粘貼到此處。 – lig
2
這也工作對我來說,在情況下,當我沒有訪問令牌,但有用戶的ID:
$isGranted = $facebook->api(array(
"method" => "users.hasAppPermission",
"ext_perm" => "publish_stream",
"uid" => $facebook_id
));
相關問題
- 1. 如何使用Facebook C#SDK檢查用戶是否已授予我的應用程序某些權限集?
- 2. PHP-SDK:檢查用戶是否授權我的應用程序
- 3. 檢查用戶是否已授予我的應用程序
- 4. 如何檢查用戶是否已授予publish_actions權限
- 5. 如何檢查用戶是否授予Facebook訪問權限?
- 6. 如何使應用程序檢查權限是否被授予(6,x +)Android
- 7. 如何授予用戶應用程序的根訪問權限?
- 8. 檢查是否授予root權限?
- 9. 授予應用程序的root權限
- 10. 如何檢查哪些其他應用程序授予了權限
- 11. 我如何向用戶授予權限?
- 12. 如何將某些用戶權限授予子文件夾
- 13. 是否爲Android上的應用程序授予默認權限?
- 14. 如何授予我的COM +應用程序訪問權限?
- 15. 如何將系統權限授予我的Android應用程序?
- 16. 是否可以檢查用戶授予了哪些擴展權限?
- 17. 授予iPhone應用程序根權限
- 18. 用戶如何授予我的應用users_posts權限?
- 19. JIRA授予查看用戶的權限
- 20. 授予用戶創建應用程序角色的權限
- 21. 如何檢查哪個應用程序的作用域已被授予訪問權限而哪些不是
- 22. 如何檢查權限是否由運行時用戶在Android上授予?
- 23. Oracle - 授予用戶權限
- 24. MySql授予用戶權限
- 25. MySQL授予用戶權限
- 26. 如何獲取應用程序的所有授予的權限
- 27. Db2:如何僅將權限授予應用程序,而不是用戶?
- 28. 如何授予用戶權限
- 29. 如何向用戶授予權限
- 30. 如何授予粉絲頁面權限的應用程序
請[見我的回答(http://stackoverflow.com/a/37130185/281087)檢查使用facebook-php-sdk-v4-5.0.0 –