主要目標:我如何才能獲得一個facebook應用程序無限制的訪問令牌?如何獲得持久的Facebook訪問令牌?
背景資料
我們有一個名爲MyApp的跟下面成立了一個FB應用:
- MyApp的被授權與我們的Facebook應用進行互動
- MyApp的具有管理訪問權限,我們的pages(manage_pages)
- MyApp有權訪問Insights(read_insights)
我們的目標是自動提取「見解」數據,例如,每晚一次。
嘗試使用OAuth生成應用令牌
獲取APP_ACCESS_TOKEN屬於MYAPP
graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID & client_secret = YOUR_APP_SECRET & grant_type = client_credentials
退役令牌的示例:328467452729456598 | Wn2Gt69Ofg5ySdOGa3TsP2p4R
使用APP_ACCESS_TOKEN獲得PAGE_ACCESS_TOKEN爲每個頁面 graph.facebook.com/me/accounts?access_token=APP_ACCESS_TOKEN
使用PAGE_ACCESS_TOKEN獲得頁面的解析數據: graph.facebook.com/YOUR_APP_ID/洞察=的access_token PAGE_ACCESS_TOKEN
我的問題是,APP_ACCESS_TOKEN我得到第1步似乎缺少令牌的用戶部分,導致下面的錯誤運行的第2步時:
"message": "An active access token must be used to query information about the current user.",
"type": "OAuthException",
"code": 2500
嘗試使用令牌從圖形瀏覽器API令牌
檢索如果我使用APP_ACCESS_TOKEN通過圖形API瀏覽器(https://developers.facebook.com/tools/explorer),我得到獲得用戶部分的令牌顯着更長。 如果我在步驟2和步驟3中使用此標記,我會得到正確的數據,但所有標記只有2小時有效,隨後我無法將其用於自動檢索洞察數據。
嘗試與交換長住令牌
按照本指南中介紹的步驟短暫令牌:https://developers.facebook.com/roadmap/offline-access-removal/#page_access_token,我試圖較長住一個交換短命的令牌。
如果我使用try來交換從OAuth的過程中獲得的令牌,我得到的錯誤:
"message": "No user access token specified",
"type": "OAuthException",
"code": 1
如果我使用的交換方法的圖形管理器中手動獲取的令牌,我可以得到其他步驟也可以工作,但這個新令牌持續多久?如果令牌在x天后或其他事件之後過期,我仍然會面臨以編程方式獲取初始令牌的問題(而不是從圖形瀏覽器手動獲取每個令牌)。
因此,沒有人知道我怎樣才能得到一個長壽命,自動檢索令牌來解決這個問題?
謝謝!
你需要一個_user_訪問令牌來查詢'/我/ accounts',不是一個應用程序訪問令牌。 – CBroe