2011-11-02 191 views
0

我有一個應用程序來管理用戶的Facebook通知,應用程序請求offline_access以及管理通知權限。我的日誌已經填滿了Facebook的錯誤,我知道更改密碼錯誤將發生,但我不明白爲什麼我得到這些錯誤:Facebook訪問令牌過期離線訪問

Facebook的錯誤:錯誤驗證訪問令牌:會話已在unix時間1320012000過期。當前unix時間爲1320191317. Facebook錯誤:(#200)爲了查詢用戶的通知,需要「manage_notifications」權限。

他們發生方式往往被用戶只需拒絕權限和即將到期的有0

回答

1

以供將來參考,offline_access已被刪除,現在就可以得到一個帶有的access_token 2個月

https://developers.facebook.com/roadmap/offline-access-removal/

+0

令牌在2個月後到期如何在60天之後延長這段時間無需用戶交互? – Asghar

+2

看看這裏https://developers.facebook.com/docs/facebook-login/access-tokens/它看起來像「即使長壽命的訪問令牌最終會過期。在任何時候,您都可以生成一個新的長通過將用戶發送回您的應用所使用的登錄流程「來獲得令牌」,這樣用戶不需要做任何事情,但他們仍然需要打開您的應用程序 – Luke

+0

@Luke是否有可能獲得新的訪問令牌在到期之前,但沒有用戶交互,即不再登錄! –

0

到期的訪問令牌嘗試使用用戶的令牌?一旦你申請離線訪問,你應該「登錄」你的應用程序來獲取它自己的訪問令牌,而不是使用你保存的用戶令牌。如果那是你在做什麼。

向下滾動到此頁上標有「應用程序登錄」的部分。這就是當用戶不在場時應該做的事情,不要保留和使用用戶的令牌。

https://developers.facebook.com/docs/authentication/

+0

我使用的用戶令牌的使用壽命。你說我可以用我的應用程序登錄令牌來做我需要的一切,即使我正在提取用戶數據? – Luke

+0

非常。脫機訪問權限意味着授予您權限的用戶在沒有令牌的情況下執行操作。您可以使用Facebook發佈的不同於您的應用。無需爲每個想要使用的用戶交換代幣。 –

+1

這是不正確的 - 他們應該使用用戶訪問令牌 - 具有'offline_access'的用戶訪問令牌具有很長的到期時間。如果用戶取消授權應用程序,更改其密碼或由於安全原因而被鎖定,它可能會失效。如果App Secret被更改,它也會使所有現有的令牌無效,但其他情況應該是OK – Igy