【问题标题】:How can I detect if a certain post on a Facebook page has been deleted?如何检测 Facebook 页面上的某个帖子是否已被删除?
【发布时间】:2014-09-04 13:39:39
【问题描述】:

我正计划构建一个小型项目,用于存储来自特定公共页面的帖子。并检测他们是否稍后删除该帖子。 Twitter也做了类似的事情。但我找不到 Facebook 的类似项目。

像这样:http://politwoops.sunlightfoundation.com/

但对于 Twitter。我会用 Python 或 C# 来做

我该怎么办? 我可以从中学习任何特定的代码或项目吗?

【问题讨论】:

    标签: facebook twitter


    【解决方案1】:

    检查某个帖子是否在 Facebook 上不再存在的唯一方法是使用发布该帖子的用户的用户访问令牌来搜索该帖子。 Facebook 上的每个对象都有一个特定的 ID,您只需检查该 ID 是否仍然存在。如果没有,您会从 API 收到错误消息。

    例如:https://developers.facebook.com/tools/explorer/?method=GET&path=10203433018378479&version=v2.0

    path参数是Post的ID。

    请记住,您需要read_stream 权限,并且您需要让 Facebook 为其他用户批准它,否则它仅适用于您应用的管理员/开发人员。但是,您不太可能获得为此批准的许可。它通常只在“没有原生 Facebook 体验的平台”上获得批准。

    编辑:我的错,我在考虑用户帖子,但你的问题是关于页面的。在这种情况下,您只需要一个应用访问令牌 (App-ID|App-Secret)。 API 调用是一样的,你只需要知道 Post ID。

    关于访问令牌:

    要获取 Facebook 主页的提要,请参阅 Facebook 文档(包括代码示例):https://developers.facebook.com/docs/graph-api/reference/v2.0/page/feed/

    【讨论】:

    • 我可以拨打多少电话有限制吗?一页可能有一千个帖子。再加上 50 页左右,大约需要 50,000 次调用来检查每个帖子是否正常。
    • 如果您想在每页中检查许多帖子,最好使用提要 api 调用来获取帖子,而不是使用他的 id 检查每个帖子。更少的 api 调用。
    • 谢谢。请添加我应该知道的有关提要 api 调用的更多详细信息。
    【解决方案2】:

    您可以为此使用图形 api。如果是公共页面,您可以按照以下步骤操作:

    1. 在 Facebook 开发者网站中创建您的应用程序
    2. 使用您喜欢的语言设置基本的图形身份验证机制并获得未过期的令牌。
    3. 使用您未过期的访问令牌执行以下任务: 在此处输入您要抓取的页面的idhttp://graph.facebook.com/[insert页面id或url]/feed
    4. 将帖子标题、postID 添加到您的数据库中。
    5. 在您的服务器上创建一个计划任务来执行这些任务: 在您的数据库中选择所有/基于页面的等帖子并将请求发送至:http://graph.facebook.com/[insert此处的帖子 ID] 如果它返回,则意味着它仍然存在。否则会返回错误。

    【讨论】:

    • 太棒了。让我试试看。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-11
    • 1970-01-01
    • 1970-01-01
    • 2012-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多