1

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

$(document).ready(function() {

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

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

});

我收到的警报说“未定义”。为什么 ?有没有办法获得 Facebook 唯一的 app-id ?

非常感谢

4

3 回答 3

1

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

用于FB.login首先登录您的应用程序。

于 2012-07-25T12:03:16.363 回答
1

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

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

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

于 2012-07-25T11:57:00.153 回答
1

我发现您在 jQuery 的 $(document).ready 中初始化 FB JS SDK 很奇怪。

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

因此,您正在尝试访问尚未定义的 js 对象 (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);
    });
};

祝你好运!

于 2012-07-26T03:25:07.087 回答