0

Facebook 上有一个名为Pointless Haiku的群组。 我想下载所有发布到小组墙上的帖子,这样我就可以用随机的俳句自娱自乐几个小时。到目前为止,我已经将图形资源管理器与这个 fql 查询一起使用(这是正确的术语吗?):,2204535003?fields=feed.limit(10000).fields(message)它给了我一些墙贴,但不是全部(甚至不是前 10000 个,这是我设置的限制) . 我没有 Facebook 应用程序,因为我想这样做的唯一原因是自娱自乐。一旦获得所有帖子,我可能会将它们写入文件并使用 Python 进行一些后处理。

实现这一目标的最佳方法是什么?如果我想以编程方式执行此操作,是否需要创建一个应用程序来执行此操作?

4

2 回答 2

1

关于您的观察,它给了我一些墙贴,但不是全部(甚至不是前 10000 个,这是我设置的限制)

我认为 Graph Explorer 旨在成为一个开发和调试工具(有点像 Python 的 IDLE),而不是一个全能的查询引擎。因此,我相信它有自己的内置页面大小限制,不能被覆盖。我相信限制是 25。请注意,这不是返回结果数量的限制。它是在一页上显示的最大结果数。 根据结果​​集的大小,可能需要多页或多页才能显示整个结果集。

所以...如果您在 Graph Explorer 中运行查询并返回结果,如果您向下滚动到 Graph Explorer 生成的结果的底部,您可能会看到如下内容:

  "paging": {
    "previous": "https://graph.facebook.com/...",
    "next": "https://graph.facebook.com/... "
  }

如果您单击“下一页”标签后面的 URL,它将带您到下一页结果。如果您继续这样做,最终您将通过所有页面单击所有结果。

我认为一次性获得所有结果的方法是通过(例如)Python 脚本或其他类型的脚本以编程方式提交 GET 请求(Graph Explorer 已帮助您创建和调试)。

举个例子,我使用这个查询来获取自 2015 年 1 月 1 日以来发布到 Facebook 群组的所有消息和评论的列表。(我在 2016 年 5 月 8 日成功运行了这个查询,使用 Graph Explorer v2.6 .)

128791213885003/?fields=name,id,description,owner,feed.since(2015-01-01){message,created_time,comments{from,message,created_time,comments{from,message,comments{from,message}}}}

我希望这有帮助。

于 2016-05-08T07:25:08.633 回答
0

您可以为此使用Graph Explorer

  1. /me/groups可以带组 id
  2. /group-id/feed将带来群组提要

不要忘记使用user_groups权限获取访问令牌。

于 2014-07-23T17:50:27.353 回答