我的情況和我有什麼:如何更新/延長Facebook的訪問令牌與考拉寶石都
- Rails應用程序(Rails的的最後一個版本)
- 考拉寶石(最新版本)
- 1(一)Facebook的用戶 - (!)(例如,它就是我),這是所有的,沒有更多的用戶
- 頁面在網站上沒有任何FB登錄表單/類似的東西
現在的情況:
我在一個網站上創建頁面,我的代碼應該拉離我的Facebook賬戶最新帖子並顯示在頁面上。
我已經這樣做:
- 我加入考拉寶石
- 然後,我在FB中創建的應用程序在我的開發人員帳戶,並授予該應用程序完全訪問我的個人資料(這相同的配置文件 - 開發者,並從我想拉帖)
- 然後,我從這裏創建應用程序訪問令牌(https://developers.facebook.com/tools/accesstoken) - 當我調試它,FB告訴我,這個令牌是一個短期的令牌,在1小時內過期。
然後我創建的代碼在我的模型:
oauth = Koala::Facebook::OAuth.new(APP_ID, APP_SECRET) new_access_info = oauth.exchange_access_token_info self.get_token <- here i pull token from DB new_access_token = new_access_info["access_token"] new_access_expires_at = DateTime.now + new_access_info["expires"].to_i.seconds self.update_all(:token => new_access_token) ***<- saving token in db*** self.update_all(:exp => new_access_expires_at) ***<- saving expiration of token in db*** @facebook ||= Koala::Facebook::API.new(self.get_token)
所以,我第一次把我的短版活令牌直接在DB,所以我的代碼可以從那裏拉,那麼,當我重新加載頁面,我得到了新的,長期的令牌(它的有效期爲2015年12月1日)。
但是!當每次我重新加載我的頁面,我得到新的令牌,但有SAME到期日期(FB的調試器說我一樣,當我從我的頁面複製令牌並將其粘貼到調試器中)。
我甚至試圖做這在不同的日子,因爲我讀「的地方」該令牌裝修週期爲每天一次,但:
令牌總是不同的,但到期日期總是相同的。
我需要的:
要續訂該令牌或寫代碼,使該令牌不從我身邊的動作自動更新,因爲沒有登錄窗口或類似的東西。它只能從服務器端運行。
有什麼想法?已經閱讀了很多信息和類似的問題,但大多數問題都與用戶交互有關,例如以適當的形式登錄等,所以 - 沒有運氣:/
@Jobili,確實工作邁克的解決方案? –