![](/img/trans.png)
[英]Facebook PHP SDK: Check if a user has granted a certain set of permissions
[英]Check facebook permissions with php
我正在嘗試檢查用戶已允許我的網站的權限,並且正在使用facebook SDK來獲取數組中的權限。
array(1) {
["data"]=> array(3) {
[0]=> array(2) {
["permission"]=> string(9) "installed"
["status"]=> string(7) "granted" }
[1]=> array(2) {
["permission"]=> string(14) "public_profile"
["status"]=> string(7) "granted" }
[2]=> array(2) {
["permission"]=> string(15) "publish_actions"
["status"]=> string(7) "granted" } } }
我已經找到了一些代碼來搜索數組以找到特定的權限,但是自編寫此代碼以來,我認為SDK已更改。
if( array_key_exists('publish_actions', $permissions['data'][0]) ) {
// Permission is granted!
// Do the related task
$post_id = $facebook->api('/me/feed', 'post', array('message'=>'Hello World!'));
} else {
// We don't have the permission
// Alert the user or ask for the permission!
header( "Location: " . $facebook->getLoginUrl(array("scope" => "publish_stream")) );
}
我正在尋找一種方法來搜索publish_actions
並確定其是否declined
或granted
。
您只需要將permission['data']
數組轉換為更可用的數組即可...
$arr = array();
foreach( $permissions['data'] as $v){
$arr[$v['permission']] = $v['status'];
}
var_dump($arr);
然后使用您的腳本進行一些修改:
if( array_key_exists('publish_actions', $arr) && $arr['publish_actions'] == 'granted' ) {
// Permission is granted!
// Do the related task
$post_id = $facebook->api('/me/feed', 'post', array('message'=>'Hello World!'));
} else {
// We don't have the permission
// Alert the user or ask for the permission!
header( "Location: " . $facebook->getLoginUrl(array("scope" => "publish_stream")) );
希望這就是你問的...玩得開心
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.