我正在尝试使用限制,从和获取页面的新闻Feed(我是该页面的管理员)直到参数,但它不起作用,即使在图形api资源管理器工具中它也不起作用。我要求以下内容:
$fb->api("/PAGE_ID/feed?limit=100")
但它始终会返回最后25个帖子,自和直到参数也不起作用。我的代码有什么问题?
提前致谢。
答案 0 :(得分:17)
对于那些没有使用PHP SDK且直接访问相关Graph API URL的人,只需附加
即可&limit=SOMEPOSITIVEINTEGER
到URL的末尾,如下所示:
https://graph.facebook.com/PAGEGRAPHOBJECTID/posts/&since=2011-07-01&until=2012-08-08&access_token=ACCESSTOKEN&limit=100
不幸的是,根据您正在击中的图形资源,如果限制超过某个阈值,您可能会收到错误,并且没有任何押韵或理由可以确定。例如,获得帖子的评论或喜欢,我使用了4900的限制而没有收到错误。从页面Feed中获取帖子时,相同的数字给了我一个错误,现在我使用限制为100然后分页,直到我的cron看到日期范围之外的帖子。
我想虽然FB希望我们使用默认限制25和分页,所以我个人重构以适应这个。
答案 1 :(得分:9)
我找到了使用这些参数的正确方法。我应该在调用api方法时将限制或任何其他参数作为第三个参数传递:
$feed = $this->fb->api("/PAGE_ID/feed", "GET", array('limit' => 2));
答案 2 :(得分:1)
您的代码没有任何问题。据我所知,Facebook Graph API已经崩溃;查询连接时,documented分页参数无效。
答案 3 :(得分:0)
对于我来说, since
和 until
与 date_format=U
参数一起使用时,提供值作为UNIX时间戳:
me/posts?fields=id,created_time&limit=100&date_format=U&since=1558355000&until=1558356000
在Graph API 2.12和3.3中进行了测试
答案 4 :(得分:0)
对于我来说,since
和until
在以下情况下工作:
me/posts?limit=100&since=2017-01-23T13:11:12&until=2019-08-21T01:11:12&fields=id,created_time
或
me/posts?limit=100&since=2017-01-2313:11:12&until=2019-08-2101:11:12&fields=id,created_time