在2013年10月突破性变化之后检索Facebook的喜欢

时间:2013-08-05 15:53:24

标签: facebook-graph-api

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

“目前API默认返回所有喜欢。迁移后,通过Graph API提取用户的喜欢将一次返回25个结果。我们已经为结果添加了分页,因此您可以翻阅所有的用户喜欢。“

我已经在这里阅读了分页操作方法https://developers.facebook.com/blog/post/478/,但我仍然不清楚哪种方法最佳使用方法:

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

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

感谢。

1 个答案:

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