Facebook All.Js新的错误

时间:2012-10-24 10:52:53

标签: facebook-javascript-sdk

我有一个使用Facebook JS SDK的网站,它在2年多以来一直运作良好

今天Facebook部分(我使用SDK在主页面的选项卡中显示用户时间线)停止工作,当页面加载时它给了我这个JavaScript错误

任何帮助将不胜感激

错误:错误:表达式是字符串类型,而不是对象 源文件:http://connect.facebook.net/en_US/all.js 行:37

1 个答案:

答案 0 :(得分:5)

这不仅仅是替换FB.Data.waitOnFB.Data.query

我当前正在使用FB.Data.query函数调用进行FQL调用,以优雅地测试用户是否已接受我的应用程序的publish_stream权限。 像这样:

FB.api('/me', function(response) {
    var user_id = response.id;
    var query = FB.Data.query('select publish_stream from permissions where uid={0}', user_id);
    query.wait(function(rows) {
        if (rows[0].publish_stream == 1) {
            //user has accepted our publish_stream permissions
        } else {
            //user has not accepted our publish_stream permissions
        }
    });
});

谷歌上搜索可疑的Facebook开发者论坛后;在找到check for extended permissions with new facebook javascript sdk

之前的另一篇文章之前,我无法找到我要找的内容

然后我能够提出我的解决方案:

FB.api('/me/permissions', function(response) {
    if (response && response.data) {
        var permissions = response.data.shift();
        //console.log(permissions);
        if (!permissions || (!permissions.publish_stream) || (permissions.publish_stream == 0)) {
            //user has not accepted our publish_stream permissions
        } else {
            //user has accepted our publish_stream permissions
        }
    }
});