Facebook js sdk无法检索已登录用户的名称

时间:2012-07-25 11:00:15

标签: javascript facebook facebook-javascript-sdk app-id

我正在使用facebook JS SDK。我目前登录facebook,我的代码如下:

$(document).ready(function() {

   FB.init({
      appId: "myappID",
       xfbml: true
   });

   FB.api('/me', function(response) {
      alert(response.name);
   });

});

我得到的警告说"未定义"。为什么?有没有办法让Facebook独特的应用程序?

非常感谢

3 个答案:

答案 0 :(得分:1)

  

我得到的警报说“未定义”。为什么?

很可能是因为您的用户帐户尚未连接到您的应用中。

首先调用FB.login,然后将API调用放入回调处理程序。

答案 1 :(得分:1)

因为您还没有授权您的应用。

首先使用FB.login登录您的应用。

答案 2 :(得分:1)

我发现你在jQuery的$(文档).ready中初始化FB JS SDK时发现很奇怪。

你在进行同步加载吗?如果你按照Facebook的说明进行实际的异步加载,那就更好了,因为它不会阻止页面加载。在异步加载中,包含all.js的<script>标记(Facebook的JS SDK)在$(document).ready事件触发后附加到文档DOM。

因此,您正在尝试访问尚未定义的js-object(FB)。最好按照Facebook的文档中的说明将代码分配给window.fbAsyncInit:

window.fbAsyncInit = function() {
    FB.init({
        appId: 'AppID',
        cookie: true, // I think you'll need this cookie to make the API call
        xfbml: true
    });

    // Additional initialization code here
    FB.api('/me', function(response) {
        alert(response.name);
    });
};
祝你好运!