Javascript 检查用户在Facebook上的权限
我尝试检查用户是否已接受权限列表。我有这个:Javascript 检查用户在Facebook上的权限,javascript,facebook,facebook-graph-api,facebook-javascript-sdk,Javascript,Facebook,Facebook Graph Api,Facebook Javascript Sdk,我尝试检查用户是否已接受权限列表。我有这个: window.FB.api("me/permissions", function (resp) { var IsValid = true; var perm = "public_profile"; var PermsArray = resp.data; var PermsNeeded = perm.sp
window.FB.api("me/permissions", function (resp) {
var IsValid = true;
var perm = "public_profile";
var PermsArray = resp.data;
var PermsNeeded = perm.split(",");
var Unit = PermsNeeded.length;
for (var I = 0; I < Unit; I++) {
var Per = PermsNeeded[I];
if (PermsArray[Per] == null) {
IsValid = false;
break;
}
}
callBack(IsValid);
});
window.FB.api(“我/权限”,函数(resp){
var IsValid=true;
var perm=“public_profile”;
var PermsArray=相应数据;
var PermsNeeded=perm.split(“,”);
var单位=磁通所需的长度;
对于(变量I=0;I
当我尝试此操作时,在接受public_profile权限后,我得到IsValid=false
怎么了
更新:
这项工作:
window.FB.api("me/permissions", function (resp) {
var IsValid = false;
var perm = "public_profile";
var PermsArray = resp.data;
var PermsNeeded = perm.split(",");
var Unit = PermsNeeded.length;
var UnitAccepted = PermsArray.length;
for (var I = 0; I < Unit; I++) {
var Per = PermsNeeded[I];
for (var J = 0; J < UnitAccepted; J++) {
var AccPer = PermsArray[J];
if (AccPer.permission == Per) {
IsValid = true;
break;
} else {
IsValid = false;
}
}
}
callBack(IsValid);
});
window.FB.api(“我/权限”,函数(resp){
var IsValid=false;
var perm=“public_profile”;
var PermsArray=相应数据;
var PermsNeeded=perm.split(“,”);
var单位=磁通所需的长度;
var UnitAccepted=PermsArray.length;
对于(变量I=0;I
什么是相关数据
?它来自facebook。包含,[Object{permission=“public_profile”,status=“grated”},Object{permission=“read_mailbox”,status=“grated”},Object{permission=“email”,status=“grated”},那么第一个循环中的Per是什么<代码>公共档案对吗?你说PermsArray是一个数组。为什么要检查public\u profile
的密钥是否存在?是的,Per是循环中的第一个public\u profile。PermsArray是一个具有facebook权限的数组。在PermsArray中,我将检查我所需的权限是否存在。我找到了解决方案,我认为:)