簡體   English   中英

使用php檢查Facebook權限

[英]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並確定其是否declinedgranted

您只需要將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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM