2015-08-15 123 views
0

我正在使用PHP SDK製作基於Web的Facebook應用程序。Facebook API,獲取頁面用戶管理員(manage_pages)

我想獲取所有頁面的列表,用戶管理員,並將它們顯示給用戶。

儘管我在測試應用程序中測試了所有內容,但您不需要查看和接受擴展權限,但目前這種方式仍無法正常工作。

if (isset($session)) { 
    // graph api request for user data 
    $request = new FacebookRequest($session, 'GET', '/me?fields=id,name,accounts' ); 
    $response = $request->execute(); 
    //get response 
    $graphObject = $response->getGraphObject(); 
    $name = $graphObject->getProperty('name'); 
    $id = $graphObject->getProperty('id'); 
    $email = $graphObject->getProperty('email'); 
    $accounts = $graphObject->getProperty('accounts'); 

    echo "Your name is: "; 
    echo "$name."; 
    echo "<br>$accounts"; 
} 

任何幫助是極大的讚賞

回答

2

很奇怪,但我沒有找到方法FacebookRequest->的execute()... 但是我發現這對我的作品的解決方案:

function GetPages() 
{ 
    $token = 'CurrentUsersTokenIsHere'; 
    // Instantiates a new Facebook super-class object from SDK Facebook\Facebook 
    $fb = new Facebook([ 
     'app_id'  => $fb_app_id, 
     'app_secret' => $fb_app_secret 
    ]); 
    $response = $fb->get(
     '/me?fields=accounts,name,email', 
     $token 
    ); 
    $graphObject = $response->getDecodedBody(); 
    $fbUserName = $graphObject['name']; 
    $fbUserEmail = $graphObject['email']; 
    $fbUserID = $graphObject['id']; 
    $pages  = $graphObject['accounts']; 
    // In general there is an array and you can get each page like: 
    $singlePage = $pages['data']['0']; 
    $pageName = $singlePage['name']; 
    $pageCategory= $singlePage['category']; 
    $pageID = $singlePage['id']; 
    return $pages; 
} 

還有一兩件事,讓我們說的理解,$ graphObject [「賬戶」]它是一個數組,看起來像:

array(
'data' => array (
     0 => array (
        'access_token' => 'someToken', 
        'category'  => 'Some category', 
        'name'   => 'Some name', 
        'id'   => 'Some id', 
        'perms'  => array (
              0 => 'CREATE_ADS', 
              1 => 'BASIC_ADMIN', 
            ), 
       ), 
     1 => ... 
     ), 
'paging' => array (
     'cursors' =>array (
        'before' => 'Mzc4MDAwOTcyMjE4MTYw', 
        'after' => 'MTQ1MTM2NzgxNTE0MDkwMAZDZD', 
        ), 
       ), 
); 
0
  1. 確保您有manage_pages許可
  2. 嘗試在Graph API Explorer用相同的訪問令牌相同的呼叫,如果它不存在,然後它不是一個PHP SDK問題
  3. 嘗試調試$response,看看有什麼在它
0

所有<page_id>/admins終點的第一版本V2.2已被棄用,更高check it here但如果你有v2.1你可以做

$request = new FacebookRequest($session, 'GET', '<your_page_id>/admins' ); 
$response = $request->execute(); 
// Todo with $response 

注意:確保您將此請求與Page Access Token一起發送。

相關問題