【问题标题】:Getting Feed data from Facebook API in a date range从 Facebook API 获取某个日期范围内的 Feed 数据
【发布时间】:2014-03-17 00:03:30
【问题描述】:

我需要在一天之后和另一天之前获取用户提要中的所有条目。由于我不知道该期间有多少条目,并且参数LIMIT 似乎是强制性的,所以我将限制设置为例如100。

当数据准备好被解析时,我必须检查(或者不是?)键 PAGING 是否在结果集中,如果是,则使用其中存储的数据再次查询。

我不确定这个逻辑是否正确。我的第一个想法是在 PAGING 仍然存在时循环结果集,然后再次查询。如果 PAGING 为空,则将 JSON 返回给用户。这意味着我的查询中没有更多页面,我得到了我需要的所有数据。

我使用 SINCE 和 UNTIL 参数来指定日期范围。

问题是我总是收到超过时间限制的错误:Maximum execution time of 30 seconds exceeded in...

PAGING 似乎一直都在,所以我的循环实际上是在搜索用户提要中的所有条目,因为他或她创建了自己的帐户。我对此不确定,但我可以肯定的一件事:它在超时之前执行了 13、14 或 15 个查询。正如我所看到的,有些结果不在指定的日期范围内(我认为这是因为关键 PAGING 没有初始设置所有参数)。

您知道这是否是查询用户提要中数据的最佳解决方案吗?

还有一件事:我正在使用自己的提要进行测试。有些结果我不认识是我在时间轴上发布的。所以我假设它们是 cmets 而不是帖子/状态。你知道吗?

@EDIT1

看看这个:

我的第一个查询: /me/feed?access_token=MY_ACCESS_TOKEN&fields=message&since=2014-02-11&until=2014-02-17&limit=100

PAGING->NEXT 中的字符串 https://graph.facebook.com/MY_ID/feed?fields=message&limit=100&access_token=MY_ACCESS_TOKEN&until=1392153316

它切断了 since 参数,我认为 until 已转换为 UNIX 时间(自 1970 年以来)。

但是我检查了我的时间线,从 2014 年 11 月 2 日到 2014 年 2 月 17 日,我在其中发布的所有内容都在结果集中(包括一些朋友与我分享的一些内容和一些我不知道他们的内容是)。

那么我怎么知道何时必须使用 PAGING->NEXT 来获取更多我真正需要的数据??

我稍后会尝试用一些代码来编辑它

【问题讨论】:

    标签: php facebook facebook-graph-api facebook-php-sdk facebook-apps


    【解决方案1】:

    你必须对 since 和 until 参数使用 unix 时间戳,否则它不应该工作。

    /me/feed?since=1391244171&until=1391848971&fields=message
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-23
      • 2017-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多