2012-01-06 90 views
1

我很成功地获取“userID”和“访问令牌”,但无法获取我的目标页面上的名称和其他基本详细信息。 我怎样才能得到这个? 这是我的代码。从Facebook访问我的网站的基本信息的步骤?

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

<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script> 
<script type="text/javascript"> 

    FB.init({ appId: '225565837521406', status: true, cookie: true, xfbml: true, oauth: true }); 

    // FB.login({ scope: 'name,email,user_birthday'}); 


    FB.getLoginStatus(function(response) { 
       if (response.status === 'connected') 
       { 
       var theSession=response.session; 
       var theSession = eval('(' + theSession + ')'); 
       var name=response.name; 
       var name=eval('(' + name + ')'); 
       var uid = response.authResponse.userID; 
       var accessToken = response.authResponse.accessToken; 
       var email=response.authResponse.email; 
//    alert("Name: " +name+ " UserID: " +uid+ " Access Token: " +accessToken); 
       document.getElementById("fb-root").innerHTML="Name: " +name+ "<br />UserID: " +uid+ "<br />Access Token: " +accessToken+ "<br />Email: " +email+ "<br />Session: " +theSession; 
       } 
       else if (response.status === 'not_authorized') 
       { 
       alert("Not Authorized.."); 
       } 
       else 
       { 
       alert("nothing.."); 
       } 

      }); 

</script> 

回答

0

做响应的console.log - 你会发现响应对象包含:

  • 一个“authResponse”对象,包含一个访问令牌,用户ID,签名的请求,并为到期访问令牌和
  • 状态字段,告诉您用户的身份验证状态。

关于签名的请求信息可以在这里找到:https://developers.facebook.com/docs/authentication/signed_request/

关于Facebook的客户端身份验证信息可以在这里找到:https://developers.facebook.com/docs/authentication/

无论如何,这一切都不能让你有关用户的信息。为此,您必须查询Graph API。要获得有关用户的基本信息,请尝试:

https://graph.facebook.com/me?access_token=ACCESS_TOKEN_FROM_ABOVE。结果将是包含用户名等的JSON对象。

HTH