Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查用户在Facebook上的权限_Javascript_Facebook_Facebook Graph Api_Facebook Javascript Sdk - Fatal编程技术网

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中,我将检查我所需的权限是否存在。我找到了解决方案,我认为:)