2

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

我可以让用户注册我的应用程序,但我必须在他们的墙上发布提要(我也不希望用户批准的预先确认消息,用户应该只登录他/她的帐户)。

以下是代码:

<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) 用户尚未授权应用程序执行此操作

以下是应用注册的屏幕截图: 在此处输入图像描述

我该怎么办?

4

1 回答 1

1

您的范围在此行中完全为空

}, { scope: '' });

如果您没有请求正确的许可,您将不会被授权。

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

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

于 2013-06-12T23:02:01.987 回答