来自https://developers.facebook.com/roadmap/
“目前API默认返回所有喜欢。迁移后,通过Graph API提取用户的喜欢将一次返回25个结果。我们已经为结果添加了分页,因此您可以翻阅所有的用户喜欢。“
我已经在这里阅读了分页操作方法https://developers.facebook.com/blog/post/478/,但我仍然不清楚哪种方法最佳使用方法:
1)该文档说“使用Graph API,当有更多可用数据时,您会注意到提供了分页链接:”,但此刻(没有限制)我即使获得了分页链接所有结果都已在第一页中检索到。我是否必须手动检查以下页面的结果数量以确认它是否为空?
2)该文档还说“您可能会注意到返回的结果数量并不总是等于指定的”限制“。这是预期的行为。查询参数应用于我们的结尾,然后检查结果是否返回观众可以看到。因此,你可能会得到比预期更少的结果。“这不应该影响喜欢检索,我是对的吗?我认为有些喜欢是可见的而有些则不可能。
感谢。
答案 0 :(得分:0)
我会尽力回答。
1)是的,我必须手动检查,我只是做了这样的事情(在这个例子中我检索音乐喜欢)
$fb_music_likes_ar = array();
$end = 0;
$offset = 0;
while ($end === 0){
$temp_ar = $facebook->api('/me/music?limit=25&offset='.$offset);
$fb_music_likes_ar = array_merge($fb_music_likes_ar, $temp_ar['data']);
$offset = $offset+25;
if (count($temp_ar['data']) < 25){
$end = 1;
}
}
这当然需要比以前更多的时间;我不明白改变的原因,如果我需要所有的喜欢,我最终会做几个电话,我不认为它更有效... 也许我们可以使用批处理来启动多个调用?
2)我认为这不会影响检索