2016-03-05 15 views
0

使用Rails 4和考拉寶石版本2. 我有我的個人Facebook 頁面(不是簡介)。 當我在我的網站發佈新帖子時,我想自動發佈我的 facebook頁面。 我正在使用考拉寶石,但我有訪問令牌的一些問題。Rails 4/Koala:如何刷新長訪問令牌?

訪問https://developers.facebook.com/tools/explorer/我得到一個短命令牌。此令牌僅在2小時後過期。

我的目標是獲得一個長期生存的令牌。 我已經創建了一個新的Facebook應用程序,並且我已獲得客戶端ID客戶端密鑰

訪問此頁https://graph.facebook.com/oauth/access_token?client_id=MY-CLIENT-ID&client_secret=MY-CLIENT-SECRET&grant_type=fb_exchange_token&fb_exchange_token=MY-SHORT-LIVE-TOKEN我收到long-live令牌。

現在我可以用我的長住令牌到我的網頁上發佈:

user = Koala::Facebook::API.new long_live_access_token 
page_access_token = user.get_connections('me', 'accounts').first['access_token'] 
page = Koala::Facebook::API.new page_access_token 
page.put_connections("me", "feed", message: "I am posting on my page!ok!") 

看來工作,但我的問題是,長期住令牌60天后到期,所以我需要刷新它。 我找不到解決方案來刷新長壽命令牌。很顯然,我無法每隔60天重複整個程序!

想法?

回答

0

從官方文檔:

這些令牌(長壽)會在使用你的應用程序的 人向Facebook服務器的請求,每天刷新一次。如果沒有發出 請求,令牌將在約60天后過期,並且 人員將不得不再次通過登錄流程以獲取新的令牌 。

永不過期的令牌是頁面令牌。

+1

你能鏈接到報價的來源嗎?我在https://developers.facebook.com/docs/facebook-login/access-tokens下找不到它 – CBroe