【发布时间】:2015-02-22 20:59:57
【问题描述】:
自从我上次尝试以来一直无法解决这个问题,但我在此之后重组了代码 https://developers.facebook.com/blog/post/576/
我无法触发接受所有权限的重新请求(忽略警报文本内容,因为它会改变以告诉用户为什么需要权限)
这是登录代码
jQuery(function() {
$('body').prepend('<div id="fb-root"></div>');
return $.ajax({
url: "" + window.location.protocol + "//connect.facebook.net/en_US/all.js",
dataType: 'script',
cache: true
});
});
window.fbAsyncInit = function() {
return FB.init({
appId: '<%= ENV["FACEBOOK_KEY"] %>',
cookie: true
});
};
var permsNeeded = ["email", "user_birthday", "user_friends"];
var checkPermissions = function() {
var promptForPerms;
FB.api("/me/permissions", function(response) {
var i, permsArray, permsToPrompt;
permsArray = response.data[0];
permsToPrompt = [];
for (i in permsNeeded) {
if (permsArray[permsNeeded[i]] == null) {
permsToPrompt.push(permsNeeded[i]);
}
}
if (permsToPrompt.length > 0) {
alert("Need to re-prompt user for permissions: " + permsToPrompt.join(","));
promptForPerms(permsToPrompt);
} else {
alert("No need to prompt for any permissions");
}
});
promptForPerms = function(perms) {};
FB.login((function(response) {
console.log(response);
}), {
scope: perms.join(","),
auth_type: "rerequest"
});
$("#sign_in").click(function(e) {
e.preventDefault();
return FB.login((function(response) {
if (response.authResponse) {
checkPermissions();
}
}), {
scope: permsNeeded.join(',')
});
});
};
对修改或更改的内容有什么建议吗?我完全不知道该怎么做。现在,无论您否认或允许什么,都不会发出警报。
【问题讨论】:
标签: javascript facebook permissions facebook-javascript-sdk