1

来自https://developers.facebook.com/roadmap/

“目前,API 默认返回所有赞。迁移后,通过 Graph API 获取用户的赞一次将返回 25 个结果。我们为结果添加了分页,因此您可以分页查看用户的所有赞。 "

我已经阅读了这里的分页操作方法https://developers.facebook.com/blog/post/478/但我仍然不太清楚哪个是使用的最佳实践:

1)文档说“使用 Graph API,当有更多可用数据时,您会注意到提供了分页链接:”,但目前(没有限制)即使所有结果,我也正在获取分页链接已在第一页中检索到。我是否必须手动检查以下页面的结果数量以验证是否为空?

2)文档还说“您可能会注意到返回的结果数量并不总是等于指定的“限制”。这是预期的行为。在检查返回的结果是否对我们可见之前,我们会应用查询参数查看器。因此,您获得的结果可能比预期的要少。”。这不应该影响喜欢检索,对吗?我认为不可能有一些喜欢是可见的,而另一些则不是。

谢谢。

4

1 回答 1

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)我不认为这会影响喜欢检索

于 2013-09-27T22:08:47.973 回答