2012-03-12 2 views
0

Facebookでログインしようとしているほとんどの人は問題はありませんが、サインアップしようとする人の約5%は問題ありません。私はこの問題が、Facebookから返信された回答の中に特定の情報を持っていない人がいると考えています。 emailとuser_locationのパーミッションを要求したとしても、なぜ応答しない人がいるのですか?FB.login()の応答が矛盾しています

答えて

2

私はあなたのjavascriptのを見て、物事のカップルは、あなたがにチェックする必要がありました:あなたが偽=クッキー=偽とステータス設定のJavaScript SDKを初期化すると

。私が見たほとんどの例は、これらを真としています。これはあなたが見ている5%の例外とは関係がないかもしれませんが、それを真実に設定するのはどういうことか分かりません。差をつけるかどうか試してみてください。

大きな問題は、コードにアクセス許可が与えられていると仮定していることです。実際にFB.loginへのコールバックで応答オブジェクトをチェックする必要があります。ユーザーがログインしていない可能性があり、権限の一部を拒否している可能性があります。レスポンスオブジェクトにエラーがあるかどうかを確認する必要があります。

権限テーブル(fql)を照会するか、/ get/me/permissionsを実行して、付与された権限を知る必要があります。 FB.loginコールバック・レスポンス・オブジェクトが、拒否されたものと拒否されたものについてあなたに教えてくれればいいですが、そうではありません。

また、Facebookや場所に登録されている電子メールを持っていない人もいると思います。

要約すると、応答オブジェクトをチェックして例外を正常に処理し、再プロンプトの理由を示すメッセージで認証を再確認する必要があります。

また、log4javascript(または独自のロール)のようなクライアント側のログツールを追加して、これらの例外に関する詳細情報を収集することもできます。物事をうまく処理していない特定のブラウザなどのパターンがあるかもしれません。

関連する問題