2011-01-29 73 views

回答

1

您要求offline_access嗎?如果不是,令牌將過期,但查詢令牌應返回到期日期。在打電話之前,您可以在您身邊查看。

驗證用戶沒有刪除權限或驗證offline_access我相信需要擊中Facebook服務器。如果失敗,我只會嘗試發佈並處理錯誤。這可能更有可能不是令牌有效。

通過在每次通話之前進行檢查,您將面臨重大處罰(雙倍工作)以處理不經常發生的情況。如果訪問令牌無效,您仍然必須提示他們,所以我只處理錯誤並在提示之後提示。

此外,您仍然必須處理錯誤,因爲存在競爭條件。您可以檢查access_token,但在檢查和發佈之間的時間內,令牌可能會失效。

+0

感謝您的回答。問題在於,當facebook API過期或有人撤銷權利時,Facebook API會引發未處理的異常(不在我的框架下 - 因此我無法嘗試/捕獲它)。所以我是SOL ...因此,過期只是勉強。我是一個SOL。 – 2011-01-29 08:49:49

0

根據我的經驗(使用4.2),您需要在try ... catch(一個OAuthException可能觸發)中包裝您的請求。我正在談論您可以離線訪問的場景。 (如果您有離線訪問權限,並且用戶在Facebook內移除應用程序,則即使用戶通過其他機制重新啓用應用程序,您的離線令牌也將過期。