我有以下问题,请提前感谢有关此问题的任何帮助。
我在Apps > [NAME-OF-THE-APP] > Permissions
(https://developers.facebook.com/apps/[APP-ID]/permissions)中配置我的应用程序,以便在用户首次使用该应用程序时请求“publish_actions”,如下图所示......
问题是Auth Dialog没有反映这种配置,因此不会要求“publish_actions”的许可......
我尝试了不同的“用户和朋友权限”和“扩展权限”,但Auth对话仍然保持不变。
我使用JavaScript SDK,这是代码,我正在尝试在Canvas中访问我的应用。
<script>
window.fbAsyncInit = function() {
FB.init({appId:'398977410174164',status:true,cookie:true,xfbml:true});
function testAPI() {
console.log('Welcome! Fetching your information.... ');
FB.api('/me', function(response) {
console.log('UserID, ' + FB.getAuthResponse()['userID'] + '.');
console.log('Access token, ' + FB.getAuthResponse()['accessToken'] + '.');
});
}
function login() {
FB.login(function(response) {
if (response.authResponse) {
testAPI();
} else {
// cancelled
}
});
}
FB.getLoginStatus(function(response) {
if(response.status === 'connected'){
var signedRequest = response.authResponse.signedRequest;
}else if(response.status === 'not_authorized'){
login();
}else{
login();
}
});
};
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
</script>
再次感谢您提供的任何帮助。
答案 0 :(得分:0)
[第x次:]
这些设置仅适用 从应用中心登录。 (并且他们也使用来影响通过Authenticaed Referrals登录,现在已弃用。)
每当您触发登录自己时(正如您使用FB.login调用一样) - 您必须在那里指定权限,然后通过scope
参数
答案 1 :(得分:0)
在login()函数中使用此代码:
function login() {
FB.login(function(response) {
if (response.authResponse) {
testAPI();
} else {
// cancelled
}
}, {scope:'publish_actions'});
}