我/朋友?Fields =installed返回一些未安装的installed = true


me/friends?fields=installed returns some installed = true when have not installed

我有这样的查询:

FB.api('/me/friends?fields=installed,name&<?php echo $access_token?>',  { data: response.data }, function(res) {
}

但在响应中,很少安装属性,这是真的,当他们不是,还没有安装(因为我存储任何注册用户在我的数据库,他们不存在)

我这样检查:

if(response.data.length > 0){
    for(i = 0; i < response.data.length; i++){
       var guy = response.data[i];
       if( guy.installed == true ) { // also tried with ===
          // do stuff
       }
    }
}

有更好的方法来确定吗?

PS:只是在想,这可能是因为他们接受了我的回调,但有些事情失败了?

不确定我是否真的得到了你的问题,但我更相信FB数据,而不是我自己关于installed标志的数据。也许在数据库中存储使用你应用的人时出现了故障?

其次,/me/friends应该AFAIK 只有返回那些正在使用你的应用程序的朋友,所以它应该总是true。我用我的一个应用程序做了测试,这似乎是正确的。

第三,检查

就足够了
if (guy.installed) {
    // do stuff
}