5

FacebookConnectとFacebookGraphAPIを使用して、ユーザーが自分のサイトにサインアップするときにユーザーの電子メールアドレスを取得しています。これは99%以上の時間で完全に機能しますが、ユーザーがメールのアクセス許可を含むサイトのアクセス許可を与えた後で、ユーザーのデータをGraph APIに問い合わせると、Facebookはユーザーのメールアドレスとして多数(例:14036774009)を返します。

これまでのところ、数値は常に異なり、常に11桁の長さであり、GraphAPIの他のすべてのユーザーデータは有効です。私が管理しているFacebookアカウントでこの問題を再現することはできませんでした。

いくつかの点で、Facebookがサードパーティのアプリにメインアドレスではなく転送アドレスを与えることを選択した人のために生成するランダムなプロキシメールアドレスを思い出させます(プロキシアドレスは次のようになります:apps + 148742679521093.617890126.8a2b26037e1ccd06bb81aaec5925f4c7 @ proxymail.facebook.com)

誰かがこの動作またはそれを修正する方法を説明できますか(そして常に有効な電子メールアドレスを取得します)?

4

3 に答える 3

2

バグです。Facebookにすでに報告されています:

https://developers.facebook.com/bugs/298946933534016

グラフエクスプローラー( https://developers.facebook.com/tools/explorer )を使用している場合でも発生しているようですが、一部のユーザーのみが対象です。私の場合、約0.2%の確率で。

したがって、修正されるまで、2つのオプションがあります。

  • Facebookがあなたに悪いメール値を与える場合は、ユーザーに手動でメールを要求してください。
  • 長期間有効なアクセストークンを保存し、定期的に再試行して、正しい電子メールが返されるかどうかを確認してください。
于 2012-07-05T22:53:09.757 に答える
0

どういうわけか、まだ古い認証ダイアログを使用していますか?プロキシメールアドレスを提供する機能は、古い認証ダイアログにのみあります

于 2012-06-10T10:28:01.393 に答える
0

これは、自分の携帯電話番号でFacebookにサインアップした人に起こり、返される番号はそれだけです。

ユーザーのメールアドレスはまだFacebookに提供されていない可能性があるため、ユーザーのメールアドレスを取得するオプションはありません。

于 2013-01-03T14:06:51.833 に答える