Facebook Graph API FQL返回的结果少于预期

Facebook Graph API FQL返回的结果少于预期,facebook,facebook-graph-api,facebook-fql,Facebook,Facebook Graph Api,Facebook Fql,我正在尝试使用此FQL多重查询获取朋友喜欢的页面: { "query1": "SELECT uid2 FROM friend WHERE uid1 = me()", "query2": "SELECT uid, page_id, type FROM page_fan WHERE uid IN (SELECT uid2 FROM #query1)", "query3": "SELECT page_id, name, categories, type, page_url, p

我正在尝试使用此FQL多重查询获取朋友喜欢的页面:

{
    "query1": "SELECT uid2 FROM friend WHERE uid1 = me()",
    "query2": "SELECT uid, page_id, type FROM page_fan WHERE uid IN (SELECT uid2 FROM #query1)",
    "query3": "SELECT page_id, name, categories, type, page_url, pic_big FROM page WHERE page_id IN (SELECT page_id FROM #query2)"
}​
查询工作正常并返回结果。然而,它为260人返回了大约2940页,这远远低于被查询人的实际相似数之和

我认为这可能是一个权限问题,并要求此列表中的一个人删除对朋友应用程序的“访问喜欢、兴趣…”权限。在下一次运行时,她的页面和喜欢的内容不在返回的JSON上,但页面计数实际上增加了大约10或20条记录

我做错什么了吗?出于性能原因,我使用multiquery

这在使用Graph API explorer和PHP SDK时都会发生:

$fql = urlencode($fqlQuery);
$response = $facebook->api("/fql?q={$fql}");
对这个问题有什么想法吗


提前感谢:)

Facebook上还有一个额外的隐私功能,可能会限制你从某些人那里获得的结果

该设置位于隐私设置中,其名称为-人们如何将您的信息带到他们使用的应用程序中

它还提供了一个简短的描述-

可以查看您信息的人可以在使用应用程序时随身携带。使用此设置可以控制人们可以携带的信息类别

该设置中的一个选项是
“活动、兴趣、我喜欢的东西”
。对于我的个人资料,此选项设置为关闭。因此,无论应用程序从我的朋友那里获得什么权限,该应用程序都无法看到我的“喜欢”

我怀疑您的一些(更聪明的)用户和我一样禁用了此设置,这会阻止您的应用程序获取该信息


另外,我认为这种设置对于社交网络上真正的隐私至关重要。仅仅因为我的朋友可以看到我喜欢的页面,并不意味着我希望他们使用的任何应用程序也能看到这些信息。

请记住,Facebook不希望人们挖掘数据。您请求的数据量非常大,Facebook很可能对如此广泛的请求设置了限制。这听起来可以理解,但我实际上希望明确了解这些限制……它们有记录吗?有没有办法客观地理解为什么会发生这种情况?首先,谢谢你的回答:)我已经测试了这个假设(并在问题中提到过),让一位朋友在“人们如何将你的信息带到他们使用的应用程序”隐私设置中禁用她的“活动、兴趣、我喜欢的东西”。她的喜好和页面没有被返回,但返回的全局结果(页面和喜好)数量实际上增加了10或20行,这表明有更多的查询没有返回的可访问结果。哦-我没听清楚:P在这种情况下,请参考我上面的评论。这可能是一个正在实施的限制。。。你说你得到了+3K的页面作为回报-这是大量的数据。。。