2012-05-25 61 views
2

我今天成功進行了FQL查詢更早。現在,當我嘗試進行相同的查詢時,我收到以下消息。的Android FQL查詢錯誤

「ERROR_CODE」:190,「ERROR_MSG」:「錯誤驗證訪問令牌:會話已失效,因爲用戶已經更改了密碼。」

我做我自己的帳戶查詢,我的密碼沒有被改變。有什麼建議可能會發生這種情況?

現在我得到這個錯誤。

「錯誤驗證訪問令牌:會話不符合當前存儲的會話,這可能是因爲用戶自會話創建或Facebook已經改變了會議出於安全原因的時候改了密碼。」

+0

只需登錄並讓自己一個新的會話令牌這是否工作(你需要,無論如何,無效的會話令牌程序) – Robbie

+0

我試圖記錄?然後重新登錄,似乎沒有工作 –

+0

您可能已經有Javascript登錄使用cookie,並且php不使用cookie或類似的東西。 ght幫助診斷? – Robbie

回答

2

基於上述意見,這將是這個問題。

Android中的單點登錄(SSO)允許用戶對您的應用程序進行授權,一旦他們完成了這些操作,他們將在隨後的訪問中被直接簽名,前提是他們已經登錄Facebook以獲取手機上的任何應用程序/片劑。

這樣做的缺點是SSO會記住令牌,如果令牌變爲無效(由用戶取消授權應用程序或通過更改密碼或其他細節),它將嘗試使用它。你必須特別檢查這兩個錯誤,因爲「isSessionValid()將返回true,即使它不是。如果你發現這兩個錯誤之一,你再次調用授權方法

因此,在你的情況下,陷阱錯誤,並調用授權()

文檔從Facebook:http://developers.facebook.com/docs/mobile/android/build/#sso

+0

感謝您的詳細解答,我將此添加到我的代碼中,現在應該可以正常工作。 –