0

我正在开发一个与 facebook 帐户集成的网站,以在网站上显示来自 facebook 帐户的注释。但是,在调用 FB.api 方法后,我收到的响应是未定义的,我无法访问“response.data”中的数据。

测试

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

    window.fbAsyncInit =    function() 
                            {

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

                                FB.api  (
                                            '/pagename/notes',  
                                            function(response) 
                                            {

                                                alert(response.data.length);

                                            }

                                        );

                            };

    </script>

</body>

有谁知道我哪里出错了?任何帮助将非常感激。

谢谢。

4

2 回答 2

4

如果您console.log在响应对象上使用,您会发现它包含一个“ error”属性,即response.error.message请求此资源需要访问令牌。

您可以使用以下方法检查您的响应是否包含错误:

function (response) {
    if (response.hasOwnProperty("error")) {
        alert("Error: " + response.error.message);
    } else {
        //Success!
    }
}

对于该错误,可以在此处找到一个类似的问题:“使用 Facebook php sdk 访问相册/照片时需要访问令牌来请求此资源”

于 2012-06-05T12:48:42.673 回答
0

阅读笔记需要 read_stream 权限——你的代码看起来不像你首先得到它。https://developers.facebook.com/docs/authentication/permissions/

于 2012-06-05T12:47:13.413 回答