2011-10-10 53 views
8


Android的Facebook應用程序:訪問令牌到期(expires_in)始終爲0

我正在開發使用facebook集成的應用程序。我試圖從facebook庫類中接收access_token和expires_in標記。一旦我登錄了,我正確地獲得了access_token,但我總是將expires_in標記始終爲0.因此,我的isSessionValid()方法始終返回false。請讓我知道是否有人遇到了這個問題並解決了它。

當我沒有在模擬器中安裝Facebook應用程序時,我的代碼運行得很好。我得到了webview,我可以登錄並更新狀態。但是當我安裝Facebook應用程序時,點擊更新狀態菜單選項打開Facebook應用程序,我重定向到權限頁面,然後出現錯誤,提示「無法接收訪問令牌」。這實際上是因爲expires_in令牌爲0.

我不想讓應用程序的用戶卸載Facebook應用程序,如果他們已經安裝。請讓我解決這個問題。

感謝,
PUNIT

+0

如果將權限'offline_access',令牌過期爲0 –

+0

我最初使用'offline_access'。現在我取消了它,我仍然將expires_in設置爲0.權限中的更改需要一些時間來反映嗎? – Gadenkan

+2

得到它的工作。我不得不登錄Facebook並撤消'offline_access'權限才能使其工作。非常感謝@ adil-soomro – Gadenkan

回答

14

如果你把權限offline_access,令牌到期爲0

對於其他人有這個問題的任何一個(如果你已經把offline_access許可後來刪除)遵循的步驟:

  • 轉到您的Facebook個人資料設置並刪除您的應用程序。
  • 然後再次登錄。
  • 再次授予您的應用權限。

或者你可以這樣做:

  • 轉到Facebook的個人資料設置>應用程序>Your_App和刪除 「我的訪問數據的任何時間」 權限。
  • 保存所做的更改。
  • 重新運行Your_App(即現在沒有offline_access權限)。
+0

謝謝,我一直在尋找:)但是當我使用Facebook sdk與訪問我的數據任何時候它是工作正常與Android 2.1及以上,直到android 4.0,這個問題,我只看到後,Android 4.0和更高 – Zoombie

0

有你在,你在Facebook上創建應用程序提到的關鍵哈希?如果沒有,請創建一個有效的提及它。這通常是因爲facebook的新更新功能而發生的,但是,舊版Facebook的每次工作都很好。您可以通過卸載Facebook應用程序上的更新來檢查此問題,並運行您的代碼。它仍然正常工作。瞭解更多從here

+0

我已經使用了有效的密鑰哈希。而卸載更新不起作用。 – Gadenkan

+0

我正確地得到了access_token。我只將expires_in設爲0.我想知道如何獲得正確的expires_in值。 – Gadenkan

相關問題