Facebookアカウントを使用して自分のWebサイトにログインしようとしていますが、Facebookはユーザーにログインするのに十分でない名前とIDのみを提供しています。名、姓、メールなどの完全な情報を取得する前。
現在Facebookから提供されているデータ:
stdClass Object
(
[name] => FName LName
[id] => 236189327864097
)
Oauth v2.0を使用して、Facebook経由でユーザーを自分のWebサイトにログインしています。
GraphAPIのv2.4を使用しているようです。見る
宣言フィールド
モバイルネットワークのパフォーマンスを向上させるには、v2.4のノードとエッジで必要なフィールドを明示的にリクエストする必要がありますGETリクエスト用。例えば、GET /v2.4/me/feed
はデフォルトでいいねやコメントを含まなくなりましたが、GET /v2.4/me/feed?fields=comments,likes
はデータを返します。詳細については、特定のフィールドをリクエストする方法に関するドキュメントを参照してください。
いわゆるフィールド拡張の使用方法については、以下をご覧ください。
FB.api('/me?fields=first_name, last_name, picture, email', function(response) {
console.log(response);
document.getElementById('status').innerHTML =
'Thanks for logging in, ' + response.first_name + '!';
});
これは私のために働いた。 FB.apiリクエストの/ me?fields =の後にメールを渡します。
探しているフィールドをパラメータで渡します。
var request = new OAuth2Request("GET", new Uri("https://graph.facebook.com/me?fields=birthday,email,name,id"), null, eventArgs.Account);
PHPを使用している場合は、次の記事も読む必要があります。
https://developers.facebook.com/docs/facebook-login/permissions/v2.4
基本的に、Fbはemail
について次のように述べています
電子メールの許可を要求した場合でも、電子メールアドレスを取得できるとは限りません。たとえば、誰かが電子メールアドレスではなく電話番号を使用してFacebookにサインアップした場合、電子メールフィールドは空になる可能性があります。