簡體   English   中英

FB.login()響應不一致

[英]FB.login() response is inconsistent

大多數嘗試使用Facebook登錄的人都沒有遇到麻煩,但是大約5%的嘗試注冊的人無法做到。 我認為這個問題是由於有些人在我從Facebook回復的回復中沒有獲得某些信息。 為什么即使我已經請求了電子郵件和user_location權限,有些人的回復中也沒有電子郵件和位置?

我查看了你的javascript並看到了一些你應該檢查的內容:

初始化javascript SDK時,設置cookie = false和status = false。 我見過的大多數例子都將這些設置為真。 這可能與您所看到的5%異常沒有任何關系,但我不知道如何將它們設置為true會有什么壞處,這可能有所幫助。 試一試,看看它是否有所作為。

我看到的更大問題是您的代碼假定授予了權限。 你真的需要在FB.login的回調中檢查響應對象。 用戶可能尚未登錄,他們可能已拒絕某些權限。 您需要檢查響應對象以查看它是否有錯誤。

您需要查詢權限表(fql)或獲取/ me /權限以了解他們授予的權限。 如果FB.login回調響應對象告訴你什么被授予和被拒絕,那將是很好的,但事實並非如此。

此外,我相信有些人沒有在Facebook或某個位置注冊的電子郵件。

總結一下:你不能相信你會得到你要求的東西,你需要檢查響應對象並優雅地處理異常,重新進行身份驗證,並顯示一條消息,說明你重新提示的原因。

您可能想要考慮添加的另一件事是客戶端日志記錄工具,例如log4javascript(或自己滾動),它收集有關這些異常的更多信息。 可能存在一種模式,例如特定瀏覽器沒有很好地處理事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM