2014-02-26 29 views
1

如何獲取令牌以便能夠讀取發送到我的Facebook頁面的數據消息?Facebook SDK訪問頁面消息的權限

如果我在這裏看到:https://developers.facebook.com/docs/facebook-login/permissions/#overview有描述:

read_page_mailboxes: 使您的應用程序來檢索網頁Facebook的消息對話。您必須使用頁面訪問令牌來執行此操作。通過Graph API調用/{page_id}/conversations來檢索對話。

我應該怎麼做才能訪問?

感謝

+0

使用grap api資源管理器,然後調用端點/ {iduser} /帳戶,這將爲您提供與iduser關聯的頁面和權限,這將在返回的數據中具有訪問令牌。保存它,並使用它時,曾經做api調用或只是file_get_contents(api結束點) –

+0

@AbhikChakraborty你的意思是'php'' $ response = $ facebook-> api('/ my_acc_id/account');'? –

+0

是的,你可以做到這一點..事實上,當你打電話給粉絲頁面時,你可能會或可能沒有應用程序,所以在這種情況下,你可以使用圖形瀏覽器來生成令牌。但是是$ response = $ facebook-> api('/ my_acc_id/account');是API調用 –

回答

2

這裏是你如何做到這一點,首先你需要獲取頁面標記爲您的網頁,我假設你已經登錄使用範圍的用戶manage_pagesread_page_mailboxes

要讀/回覆/刪除消息,你必須是一個完全管理,內容製作者或主持人

頁ADM ins具有不同的角色,這由 數組返回,如上所示。提供給他們的功能是 基於以下燙髮值決定:

你可以閱讀更多關於它在這裏:https://developers.facebook.com/docs/facebook-login/access-tokens/#pagetokens

現在的代碼,你需要得到的頁面訪問令牌:

//get user accounts  
$pages = $this->facebook->api('/me/accounts'); 
foreach ($pages['data'] as $page) { 
    if($page['id']==PAGE_ID_YOU_WANT){ 
     //the user is admin of the page you want 
     $page_access_token = $page['access_token']; 
     $page_conversations = $facebook->api('/PAGE_ID_YOU_WANT/conversations', 'GET', array('access_token' => $page_access_token)); 
    } 

} 
+1

現貨。打敗我吧。道具提及用戶所需的權利。 – Sean

+0

@Fabio感謝您的回覆.....但是在我嘗試之後,我得到一個空白屏幕。有什麼不對的嗎? –

+0

是有,就行了typpo'$ page_conversations = $ facebook-> API( '{PAGE_ID} /會話', 'GET',陣列( 'ACCESS_TOKEN'=> $ page_access_token));'沒有一個在行尾添加了分號,我添加了它 –