0

Facebookを介してユーザーが私たちのサイトにログインできるようにします。しかし、どうすればFacebookのボタンでユーザーのメールアドレスとユーザー名を返すことができますか?右のbodyタグの後Facebookのログインボタンからメールとユーザー名を取得する方法は?

:ナビゲーションバー(またはログインメニュー)で

<script> 
    window.fbAsyncInit = function() { 
     FB.init({ 
      appId  : '331796760587640', 
      cookie  : true, 
      xfbml  : true, 
      version : 'v2.9' 
     }); 
     FB.AppEvents.logPageView(); 
    }; 

    (function(d, s, id){ 
     var js, fjs = d.getElementsByTagName(s)[0]; 
     if (d.getElementById(id)) {return;} 
     js = d.createElement(s); js.id = id; 
     js.src = "//connect.facebook.net/en_US/sdk.js"; 
     fjs.parentNode.insertBefore(js, fjs); 
    }(document, 'script', 'facebook-jssdk')); 

</script> 

<div class="fb-login-button" data-max-rows="1" data-size="small" data-button-type="login_with" data-show-faces="false" data-auto-logout-link="false" data-use-continue-as="false"></div> 

が、これはただのFacebookに、ではない私たちのサイトにそれらをログに記録するようになります。ボタンをクリックした後、ユーザーの電子メールとユーザー名を取得するにはどうすればよいですか?このようなもの:

var username = ??? 
var email = ??? 
attempt_login(username, email); 
+0

https://developers.facebook.com/docs/facebook-login/web/accesstokensを読んでください – ceejayoz

+0

私はそれを見ましたが、私はまだそれをどのように使用するのか手がかりがありません。 + response.email); \t \t \t \tコンソール: \t \t \t \tはconsole.log( "FBの電子メール"; IはFB.getLoginStatus(関数(応答){ \t \t \t \tはconsole.log(応答)を試みました。ログ(「FB名:」+レスポンス名); \t \t \t});そこではなく、電子メールや名前が定義されていない – ioan

+0

またFB.api( '私/'、機能(応答){ \t \t \t \tはconsole.log( "FBのAPI"); \t \t \t \tはconsole.log(JSON .stringify(応答)); \t \t \t}); {"error":{"message": "現在のユーザーに関する情報を照会するためにアクティブなアクセストークンを使用する必要があります"、 "type": "OAuthException"、 "code":2500、 "fbtrace_id" "E + UtQncZIZ0"}} – ioan

答えて

1

ログイン応答からその情報を取得することはできません。ログイン応答からのアクセストークンを使用して、me?fields=name,emailへの2番目の呼び出しを追加する必要があります。

関連する問題