【问题标题】:Best way to get all the posts on a group's wall on Facebook在 Facebook 上的群组墙上获取所有帖子的最佳方式
【发布时间】:2016-05-08 15:30:58
【问题描述】:

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

完成此任务的最佳方法是什么?如果我想以编程方式执行此操作,是否需要创建一个应用程序来执行此操作?

【问题讨论】:

    标签: facebook


    【解决方案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 群组的所有消息和 cmets 的列表。(我在 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}}}}
    

    我希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      您可以为此使用Graph Explorer

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

      不要忘记获取具有 user_groups 权限的访问令牌。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-11
        • 2013-10-04
        • 1970-01-01
        • 2018-12-19
        • 2013-04-27
        • 2012-12-02
        相关资源
        最近更新 更多