我正在尝试使用他们提供的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)用户未授权应用程序执行此操作
以下是应用注册的屏幕截图:
我该怎么做?
答案 0 :(得分:1)
此行中的范围完全为空
}, { scope: '' });
如果您未请求正确的许可,则不会获得授权。
但是我必须在他们的墙上发布Feeds(我也不希望用户批准的预先确认消息,用户只能登录他/她的帐户)。
这没有任何意义,您的用户需要批准您发布到他们的墙上。如果他们只登录,他们只授予您最基本的权限,不包括发布到他们的墙上。