(#200)用户未授权应用程序执行此操作

时间:2012-12-13 14:33:08

标签: javascript facebook facebook-graph-api

我正在尝试使用他们提供的Js文件构建Facebook应用程序。

我能够为我的应用程序注册用户,但是我必须在他们的墙上发布Feed(我也不希望用户批准的预确认消息,用户只能登录他/她的帐户)

以下是代码:

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

FB.init({ appId: '<%: Facebook.FacebookApplication.Current.AppId %>', status: true, cookie: true, xfbml: true });
    var userName;


    FB.login(function (response) {
        //alert('1');
        if (response.authResponse) {
            var access_token = FB.getAuthResponse()['accessToken'];
            //alert('Access Token = ' + access_token);
            FB.api('/me', function (response) {
                alert('Good to see you, ' + response.name + '.');
                userName = response.name;
                document.getElementById('btnPostFeed').style.display = 'block';

            });
        } else {
            document.getElementById('btnPostFeed').style.display = 'none';
            //console.log('User cancelled login or did not fully authorize.');
        }
    }, { scope: '' });    

 function SubmitPost(msg) {
try {
    if (userName != null || typeof userName != 'undefined') {
        var wallPost = {
            message: msg + " By : " + userName,
            picture: '',
            link: '',
            name: 'test app posted in your wall',
            caption: '',
            description: ('Test description')
        };
        FB.api('/me/feed', 'post', wallPost, function (response) {
            if (!response || response.error) {
                /*action*/
                alert('Message could not be Posted.');
                alert(response.error.message);
            } else {
                /*action*/
                alert('Message Posted successfully.');
            }
        });
    }
    else {
        alert('Please wait while User Info is Loaded..');
    }
}
catch (err) { alert('SubmitPost: ' + err); }

我的主要问题是: 我得到(#200)用户未授权应用程序执行此操作

以下是应用注册的屏幕截图: enter image description here

我该怎么做?

1 个答案:

答案 0 :(得分:1)

此行中的范围完全为空

}, { scope: '' });

如果您未请求正确的许可,则不会获得授权。

  

但是我必须在他们的墙上发布Feeds(我也不希望用户批准的预先确认消息,用户只能登录他/她的帐户)。

这没有任何意义,您的用户需要批准您发布到他们的墙上。如果他们只登录,他们只授予您最基本的权限,不包括发布到他们的墙上。