2013-10-03 45 views
3

我有一個網站做服務器端,服務器端調用Facebook來獲得相關的Facebook頁面帖子頁供給。我們這樣做來檢索json數據,然後將其顯示在Flash中構建的網站中。我們使用這個端點:使用App訪問令牌來獲得具有國家限制

/app_id/posts?access_token=xxxx 

這一切都很好工作,直到Facebook頁面最近只設置國家限制到美國,現在這已經不再工作。然而,許多其他開發人員建議我需要用戶訪問令牌。這個解決方案是不可接受的,因爲當我們甚至不訪問他們的數據時,我們需要請每個訪問者將該應用添加到他們的頁面。用戶令牌不存在問題。它也似乎是對系統的濫用,因爲我們沒有在客戶端做任何事情,除非實際傳遞Flash消息的帖子。

有沒有辦法使用一個應用程序訪問令牌訪問中添加了一個國家或年齡限制Facebook頁面的方法嗎?

下面就是我們得到的響應與具有加國的限制頁:

{ 
     "data": [ 
     ] 
    } 

在爲Facebook頁面的選項來看,似乎沒有被授予特殊訪問一條明路應用程序或應用程序令牌......所以,這只是Facebook在刪除offline_access訪問權時不考慮的情況嗎?如何爲他們的品牌帶來風格化的Facebook貼子?

+0

如果你有在頁面行政控制,然後簡單地得到一個頁面的訪問令牌。 https://developers.facebook.com/docs/facebook-login/access-tokens/ – CBroe

回答

1

您必須刪除所有年齡國家從頁面限制,以允許一個應用程序(使用應用程序訪問令牌)來訪問你的頁面,並獲得飼料。

如果無法刪除這些限制,你需要生成一個訪問令牌,並在後臺自動續訂:

  1. 登錄到Facebook的作爲誰擁有管理員權限的相關Facebook頁面用戶。

  2. 然後去這個鏈接: https://www.facebook.com/dialog/oauth?client_id={your-app-id}&redirect_uri={a-link-back-to-your-website}&scope=manage_pages,publish_stream&response_type=token

    這個鏈接,會彈出一個確認對話框,並授予「管理頁面」和「郵報」權限的應用程序。

  3. 一旦確認,從現在開始,應用程序將能夠發佈和管理使用中出現的重定向URI的URL訪問令牌頁面。

  4. 保存,通過你的服務器訪問令牌繼續使用。

希望這會有所幫助。

+0

感謝奧倫。我們能夠說服業主在向他們解釋他們要求facebook僅與用戶的一部分而非全部Facebook用戶分享內容之後轉移他們的限制。 – biscuitcleaver

+2

有人可以請說明如何擴展/請求一個新的令牌,一旦它過期使用PHP?我注意到從上面的方法得到的訪問令牌不會持續很長時間:( – RiaanZA