據我所知,這是使用的OAuth2 API簡而言之新的Facebook iframe的畫布應用程序的基本過程:刷新Facebook OAuth2訪問令牌到期後的正確方法是什麼?
- 重定向到(或者用戶點擊鏈接)應用程序的授權網址
- 用戶授權並且被重定向到您的回調URL
- 回調使用「代碼」參數來獲得訪問令牌
- 訪問令牌使用圖形API來拉動或推動信息
問題是訪問令牌過期相對較快,需要「刷新」,所以我的問題是1)您如何檢測到令牌已經過期而不想嘗試使用它,並且只是出現錯誤? 2)獲得新令牌的最佳做法是什麼?
目前,我只是檢測到有一個錯誤,試圖獲取用戶的信息與他們的訪問令牌,然後再次重定向到授權URL - 因爲他們已經授權應用空白頁閃爍,他們被重定向回到我的應用程序回調,我得到一個新的令牌。這是如此笨重,我不敢相信這是正確的方法。
我懷疑這是答案,但我覺得這是重要的發佈這個問題,並得到一些迴應。有許多關於訪問令牌過期和iframe問題的重複帖子,但沒有人詢問Facebook文檔的這個具體問題。我會在一兩天後給你點最好的答案,讓人們參加,謝謝。 – mtjhax 2011-01-08 17:25:34
但是如果您的應用或遊戲需要重複Facebook API調用,例如使用Javascript或Flash,會發生什麼情況?你不能指望用戶在遊戲的潛在關鍵時刻每隔一小時就被迫重新加載你的應用程序? – Toxikman 2011-10-06 21:27:53
我知道這有點舊,所以現在可能甚至不重要,但您可以使用Facebook狀態URL(來自Facebook API以獲取會話狀態) – qodeninja 2011-10-30 23:53:27