2

我們正在構建的應用程序既是一個iOS和Android移動應用程序,它將高中生與非營利組織配對,以幫助管理他們的Facebook頁面。我們將每個學生分配給一個非營利組織,讓他們成爲其Facebook頁面的管理員,並允許他們代表組織發佈帖子,以吸引新的受衆。然後給每個學生一個評分,其中包括該頁面上學生帖子所獲得的喜歡,評論,分享等。製作頁面訪問令牌永不過期2016 Facebook SDK?

我們遇到的麻煩是Facebook Graph API。我們需要熟悉當前Facebook SDK的人員,這可以幫助我們制定更好的計劃來檢索特定數據。

目前,我們已經爲我們平臺上的每個非盈利Facebook頁面製作了一個管理員資料。我們使用此管理訪問爲每個Facebook頁面檢索用戶訪問令牌和頁面訪問令牌。但是使用新的SDK,我們只能在60天內創建頁面訪問令牌,這使我們不斷刷新令牌以檢索數據。但是,當我們刷新時,Facebook會要求我們使用用戶名和密碼進行身份驗證,這會降低我們後端的服務器崩潰風險。此外,這種方法增加了我們向Facebook發送的每日數據請求數量,運行Facebook的風險可能會在我們嚮應用添加更多用戶時完全關閉我們的訪問權限。

所以我們的問題真的在於這個頁面訪問令牌,因爲我們試圖從多個不同的Facebook頁面查詢數據。我們要求的數據也非常具體,因爲我們只希望從網頁上的特定「admin_creator」發佈的帖子中的數據(又名學生,而不是其他任何管理員)爲學生分配評分。

有沒有辦法讓頁面訪問令牌永遠不會過期與當前的Facebook SDK?有一些帖子描述了這個過程,但他們是在2014年,而不是現在的版本。另外,有沒有比我們目前的方法更好的方法來檢索我們需要的特定數據?

+0

獲取用戶訪問令牌,擴展用戶訪問令牌,調用/我/帳戶和頁面令牌將永遠有效 – WizKid

+0

請參閱我的答案http://stackoverflow.com/questions/23907802/post-to-a -facebook-page-without-manage-pages-permission-using-php/23908207恭喜您的應用創意,我認爲這太棒了! – Tobi

+0

由於生成長時間的令牌需要保護您的應用程序,因此您不應該從客戶端代碼執行此操作,而應該在服務器上執行此操作。 – CBroe

回答

2

步驟:

  1. 獲取與它有許可manage_pages用戶訪問令牌
  2. 使用擴展令牌(做服務器端,因爲它涉及的應用程序的祕密)

    https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id= {YOUR_APP_ID} & client_secret = {your_app_secret} & fb_exchange_token = {user_token_from_last_step}

  3. 使用上述步驟中的擴展令牌並使用API​​-

    /v2.5/{page-id}?fields=access_token 
    

    作爲迴應,您將獲得頁訪問令牌,這永遠不會過期。

我想你是在步驟2,只要按照步驟3,你很好去。

我建議你通過this page關於訪問令牌和事情會更清晰。

+0

感謝您的回覆。我們嘗試使用您的步驟,並在下面發佈我們的代碼。但是我們得到一個不斷的服務器錯誤。我們的代碼錯了嗎? –

+0

這個答案對我來說不起作用,但是這個答案並沒有:http://stackoverflow.com/a/28418469/470749 – Ryan