Facebook Graph API event-id/comments?since=2014-02-01&until=2014-02-10 ,日期过滤器无效
Posted
技术标签:
【中文标题】Facebook Graph API event-id/comments?since=2014-02-01&until=2014-02-10 ,日期过滤器无效【英文标题】:Facebook Graph API event-id/comments?since=2014-02-01&until=2014-02-10 , Date filter has no effect 【发布时间】:2014-03-29 14:54:14 【问题描述】:-
我正在尝试通过定位以下 URL 来带来在特定事件中制作的 cmets:
https://graph.facebook.com/1466384840257158/comments
我正在传递 user_access_token
我目前有两个 cmet 在同一事件上制作
日(2014-03-29)
现在我尝试传递一个应该带来空数据结果/对象的日期
像这样:https://graph.facebook.com/1466384840257158/comments?since=2011-01-01&until=2014-01-10
此请求无效,它仍然显示我所做的两条评论
29日
我在我的用户 ID/Feed 上尝试了相同的日期范围,它
给了我一个空的数据对象。
最后我尝试了 event-id/feed(在尝试日期过滤器之前)并且它
给了我以下错误
.
"error":
"message": "An unexpected error has occurred. Please retry your request later.",
"type": "OAuthException",
"code": 2
能否请您指导我有关该特定查询(point4)的日期过滤器的信息,或者您是否有任何其他想法可以在为事件制作的 cmets 上使用日期过滤器。
【问题讨论】:
【参考方案1】:评论使用Cursor-based Pagination,因此您不能在 cmets 端点上使用since
或until
(这些参数适用于feed
端点)。
要获取某个时间范围内的 cmets,您必须获取从现在到时间范围开始的所有 cmets,f.ex。使用https://graph.facebook.com/1466384840257158/comments?filter=stream&limit=1000
+分页(filter=stream
将使用时间戳对结果进行排序)。
【讨论】:
【参考方案2】:使用自直到对 GROUP 发表评论 如果要对 cmets 使用 since 和 until ,则不能直接用于组。因此,首先您可以将其应用于状态(提要),然后获取该提要的 cmets。 这对我有用:
group_id/?fields=feed.since(08/25/2016).until(08/31/2016)from,commentsfrom,message
【讨论】:
【参考方案3】:您为什么不先尝试按通知过滤?...通知允许您添加参数,例如since。例如(使用 Facebook 页面):
https://graph.facebook.com/PAGEID?fields=notifications.since(2015-3-31 00:00:00).limit(250).include_read(true)&id,created_time,updated_time,unread,object,link&access_token=ACCESSTOKEN
一旦你得到 json 数据,循环数据,获取 ID 并发送第二个请求,但这次使用 PAGEID_POSTID 边缘。像这样的:
https://graph.facebook.com/PAGEID_POSTID/comments?fields=id,fromname,id,message,can_remove,created_time&limit=1000
Voahla!...无需阅读每条评论!...
注意 1:需要页面访问令牌以及 manage_pages 权限
注意 2:使用参数/字段 include_read 获取所有通知,即使是已经阅读的通知
注意 3:在第二个请求中,使用参数/字段“filter=stream”对帖子进行排序并获取以您的页面名称制作的 cmets
注意 4:循环后不要忘记控制异步性!
注意5:通知重复发帖,使用数组避免多次阅读帖子使用参数/字段include_read获取所有通知,即使是已经读过的
【讨论】:
【参考方案4】:我不知道是不是太晚了。但是,是的,它适用于图形 API 3.3 版。
例如:如果您想在 Facebook 页面的帖子上获取 cmets,您可以这样做:
您必须使用页面访问令牌 获取图表请求:post_id/cmets?since=some_date【讨论】:
以上是关于Facebook Graph API event-id/comments?since=2014-02-01&until=2014-02-10 ,日期过滤器无效的主要内容,如果未能解决你的问题,请参考以下文章
Facebook PHP SDK Graph API - 是不是可以访问 PAST 事件?
Facebook Graph API event-id/comments?since=2014-02-01&until=2014-02-10 ,日期过滤器无效
Facebook Graph API - 带有坐标的搜索事件