web-dev-qa-db-ja.com

Facebookはユーザーの名前とIDのみを返します

Facebookアカウントを使用して自分のWebサイトにログインしようとしていますが、Facebookはユーザーにログインするのに十分でない名前とIDのみを提供しています。名、姓、メールなどの完全な情報を取得する前。

現在Facebookから提供されているデータ:

stdClass Object
(
    [name] => FName LName
    [id] => 236189327864097
)

Oauth v2.0を使用して、Facebook経由でユーザーを自分のWebサイトにログインしています。

12
Wolfack

GraphAPIのv2.4を使用しているようです。見る

宣言フィールド
モバイルネットワークのパフォーマンスを向上させるには、v2.4のノードとエッジで必要なフィールドを明示的にリクエストする必要がありますGETリクエスト用。例えば、 GET /v2.4/me/feedはデフォルトでいいねやコメントを含まなくなりましたが、GET /v2.4/me/feed?fields=comments,likesはデータを返します。詳細については、特定のフィールドをリクエストする方法に関するドキュメントを参照してください。

いわゆるフィールド拡張の使用方法については、以下をご覧ください。

15
Tobi
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 =の後にメールを渡します。

8
Swati Pardeshi

探しているフィールドをパラメータで渡します。

var request = new OAuth2Request("GET", new Uri("https://graph.facebook.com/me?fields=birthday,email,name,id"), null, eventArgs.Account);
1
Diego Venâncio

PHPを使用している場合は、次の記事も読む必要があります。

https://developers.facebook.com/docs/facebook-login/permissions/v2.4

基本的に、Fbはemailについて次のように述べています

電子メールの許可を要求した場合でも、電子メールアドレスを取得できるとは限りません。たとえば、誰かが電子メールアドレスではなく電話番号を使用してFacebookにサインアップした場合、電子メールフィールドは空になる可能性があります。

1
sineverba