如何在facebook api中获取电子邮件地址

时间:2013-10-14 05:29:13

标签: facebook

我已经使用了这个代码,我得到了用户名,但是我无法获得电子邮件地址请举例说明如何在面部api中获取电子邮件地址。但是很多用户给出了一些例子它不起作用所以给出有价值的代码< / p>

<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>

<script>
window.fbAsyncInit = function() {
FB.init({
appId      : '64530546436364535', // App ID
channelUrl : '//WWW.loginhire.com', // 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') {

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

  FB.login();
 } else {

   FB.login();
  }
  });
  };

  // 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));


 function login() {
 FB.login(function(response) {
    if (response.authResponse) {
        // connected
    testAPI();
    } else {
        // cancelled
    }
 }, { scope: 'email' });
 }
 function testAPI() {
 console.log('Welcome!  Fetching your information.... ');
 FB.api('/me', function(response) {
    console.log('Good to see you, ' + response.name + '.' + ' Email: ' +      response.email + ' Facebook ID: ' + response.id);
  //console.log('Good to see you, ' + response.name + '.');
    console.log(' Email: ' + response.email+'.' );



    });
   }

   </script>

1 个答案:

答案 0 :(得分:0)

            <script>
    window.fbAsyncInit = function() {
   FB.init({
   appId      : '645304363653fghdfg', // App ID
   channelUrl : '//WWW.channelUrl .com', // Channel File
   status     : true, // check login status
   cookie     : true, // enable cookies to allow the server to access the session
   xfbml      : true  // parse XFBML
       });

  // Here we subscribe to the auth.authResponseChange JavaScript event. This event is fired
    // for any authentication related change, such as login, logout or session refresh. This means that
      // whenever someone who was previously logged out tries to log in again, the correct case below 
    // will be handled. 
      FB.Event.subscribe('auth.authResponseChange', function(response) {
   // Here we specify what we do with the response anytime this event occurs. 
   if (response.status === 'connected') {
   // The response object is returned with a status field that lets the app know the current
  // login status of the person. In this case, we're handling the situation where they 
  // have logged in to the app.
  testAPI();
  } else if (response.status === 'not_authorized') {
  // In this case, the person is logged into Facebook, but not into the app, so we call
  // FB.login() to prompt them to do so. 
  // In real-life usage, you wouldn't want to immediately prompt someone to login 
  // like this, for two reasons:
  // (1) JavaScript created popup windows are blocked by most browsers unless they 
  // result from direct interaction from people using the app (such as a mouse click)
  // (2) it is a bad experience to be continually prompted to login upon page load.
  FB.login();
  } else {
  // In this case, the person is not logged into Facebook, so we call the login() 
  // function to prompt them to do so. Note that at this stage there is no indication
  // of whether they are logged into the app. If they aren't then they'll see the Login
  // dialog right after they log in to Facebook. 
  // The same caveats as above apply to the FB.login() call here.
  FB.login();
  }
   });
   };

  // 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));

 // Here we run a very simple test of the Graph API after login is successful. 

// This testAPI() function is only called in those cases. 
 function login() {
 FB.login(function(response) {
    if (response.authResponse) {
        // connected
    testAPI();
    } else {
        // cancelled
    }
  }, { scope: 'email'/'phone' });
  }
 function testAPI() {
 console.log('Welcome!  Fetching your information.... ');
 FB.api('/me', function(response) {
    console.log('Good to see you, ' + response.name + '.' + ' Email: ' +    response.email + ' Facebook ID: ' + response.id);
    //console.log('Good to see you, ' + response.name + '.');



    });
    }

     </script>




    <fb:login-button show-faces="false" width="200" max-rows="1"  scope="email"    onclick="testAPI();" onlogin="Log.info('onlogin callback')">
    Login with Facebook
    </fb:login-button>
         </span>