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 端点上使用sinceuntil(这些参数适用于feed 端点)。

要获取某个时间范围内的 cmets,您必须获取从现在到时间范围开始的所有 cmets,f.ex。使用https://graph.facebook.com/1466384840257158/comments?filter=stream&limit=1000+分页(filter=stream 将使用时间戳对结果进行排序)。

【讨论】:

【参考方案2】:

使用自直到对 GROUP 发表评论 如果要对 cme​​ts 使用 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 Graph API 根据位置搜索公共事件

Facebook PHP SDK Graph API - 是不是可以访问 PAST 事件?

Facebook Graph API event-id/comments?since=2014-02-01&until=2014-02-10 ,日期过滤器无效

Facebook Graph API - 带有坐标的搜索事件

尝试使用 Graph API (Facebook C# SDK) 更新 Facebook 事件

将照片上传到 facebook 群组 Graph API