2011-11-28 30 views
1

我一直在搜索StackOverflow和谷歌搜索結果來找到這個,但沒有運氣篩選所有的信息。如何使用Graph API和PHP爲Facebook頁面(選項卡)應用添加管理員/設置頁面?

我已經爲Facebook頁面做了一個應用程序,作爲一個標籤添加。該應用程序的設置需要根據Facebook頁面的設置進行設置,該設置會添加到一個ID中以匹配應用中呈現的數據和模板。但是,我無法獲取有關頁面ID的信息以及用戶是否是我的應用中該頁面的管理員。

我正在使用Facebook的PHP SDK,但即使這些例子似乎已被棄用,因爲Facebook轉移到他們的Graph API。而且我無法找到關於如何請求信息的示例代碼或文檔。

這是我的代碼(使用SDK 3.1.1):

require_once 'inc/facebook-php-sdk/src/facebook.php'; 
$fb_app_id = "............"; 
$fb_app_secret = "..................."; 


$facebook = new Facebook(array(
     'appId' => $fb_app_id, 
     'secret' => $fb_app_secret, 
     'cookie' => true 
)); 


// Facebook magic sauce... 
$fb_signed_request = $facebook->getSignedRequest(); 

$fb_page_id = $fb_signed_request["page"]["id"]; 
$fb_like_status = $fb_signed_request["page"]["liked"]; 
$fb_is_admin = ($fb_signed_request["page"]["admin"]==1)?TRUE:FALSE; 

當管理員(我)第一次訪問該頁面時,我得到「管理」的參數組爲1,但是當我點擊在應用程序(iframe)中的任何鏈接上信息不會傳遞,因此如果我鏈接到管理頁面,它將評估爲false。

關於此主題的所有信息都是針對不推薦使用的方法,我甚至無法弄清楚它將如何與Graph API協同工作。我真的很感激一些幫助,甚至只是在正確的方向點......

回答

0

我不知道的ü想什麼100%,但是:

  1. 如果妳希望在您的應用程序不同userlevels (如管理員,主持人,用戶),那麼你應該最好使用存儲uder_id + level的數據庫,然後設置一個php會話變量。

  2. 做一個var_dump的fb_signed_request你看到管理下的任何值?

+0

嗯,這個問題有點古老 - 當用戶第一次點擊標籤時,我使用管理檢查結束。然後發送頁面> admin param,並顯示設置頁面。 – Calle

相關問題