1

FacebookでログインするためのWebサイトを作成する必要があります。彼らに電子メールを送信できるのは理にかなっていますが、Facebook から電子メール アドレスを取得できません。

https://developers.facebook.com/docs/facebook-login/getting-started-web/の指示に正確に従い ました。FB.login に {scope:email} を追加します。

Facebook API でメールアドレスを取得するにはどうすればよいですか?

今までの私のコード:

<div id="fb-root"></div>
<script>

  window.fbAsyncInit = function() {
  FB.init({
    appId      : 'app', // App ID
    channelUrl : '//domain.COM/channel.php', // Channel File
    status     : true, // check login status
    cookie     : true, // enable cookies to allow the server to access the session
    xfbml      : true  // parse XFBML
  });

  FB.Event.subscribe('auth.authResponseChange', function(response) {
    if (response.status === 'connected') {


    FB.api('/me', function(response) {

      console.log(response);
    });   

    } else if (response.status === 'not_authorized') {

       FB.login(function(response) {},{scope: 'email'});

    } else {


       FB.login(function(response) {}, {scope: 'email'});


    }
  });
  };

  // Load the SDK asynchronously
  (function(d){
   var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
   if (d.getElementById(id)) {return;}
   js = d.createElement('script'); js.id = id; js.async = true;
   js.src = "//connect.facebook.net/en_US/all.js";
   ref.parentNode.insertBefore(js, ref);
  }(document));

  </script>
  <fb:login-button show-faces="true" width="200" max-rows="1"></fb:login-button>
4

2 に答える 2

1

私は同じ問題に遭遇しました。fb アカウントからアプリの認証を解除します。次に、テスト ページからアプリを再度承認します

初めてアプリを承認すると、以下のブロックにヒットしないことがわかりました。(アプリが承認されたら、scope:email を FB.login に追加してもうまくいきません...と思います)

} else if (response.status === 'not_authorized') {

  FB.login(function(response) {},{scope: 'email'});

} else {

  FB.login(function(response) {}, {scope: 'email'});

}

それが役立つことを願っています

于 2013-05-28T04:29:39.430 に答える
0

ログインに成功すると、呼び出しresponse.emailによってユーザーの電子メール アドレスが返されます。

于 2013-05-21T13:38:00.520 に答える