【问题标题】:How to find all 'retweet with comments' for a particular Tweet using API?如何使用 API 查找特定推文的所有“带有评论的转推”?
【发布时间】:2015-10-01 02:53:49
【问题描述】:

我想获得一条推文的所有“带有 cmets 的转推”。

以下是我使用 twitter api 注意到的几件事

  1. 带有 cmets 的转推被视为推文。如果您添加评论,转推数不会增加,而且 Twitter 消息是“XYZ 引用了您而不是转推了您”
  2. 你显然不能使用这个API端点https://dev.twitter.com/rest/reference/post/statuses/retweet/:id

如果您可以提供原始推文/ID,有没有办法找到所有“带有评论的推文/转推”?

【问题讨论】:

    标签: twitter twitter-anywhere


    【解决方案1】:

    所以您指的是 Quoted Tweets(使用 cmets 转发)。 REST API 还没有官方的方法,但是,有几种方法可以做到这一点。

    1. 由于所有引用的推文都包含原始推文的短网址, 你仍然可以使用in_reply_to_status_id通过原始推文的短网址过滤
    2. 搜索包含 quoted_status_id 字段的推文,这可以通过 REST 或 STREAMING API 完成。

    quoted_status_id:此字段仅在推文为引用推文时显示。该字段包含被引用推文的整数值推文 ID。

    【讨论】:

    • 谢谢莱布!我指的是“转发推文,用户在转发时添加了额外的 cmets”mashable.com/2015/04/07/twitter-retweet-comments
    • 如果这澄清了事情,请告诉我。
    • 谢谢莱布。所以听起来我必须从 Twitter 中获取所有推文并根据quoted_status_id 和 in_reply_to_status_id 过滤这些推文。这听起来非常昂贵,并且不确定 Twitter 是否允许给我所有推文。有没有一种方法可以让我从原始推文/ID“开始”,然后获取所有引用的推文?
    • @codeObserver 不客气。这不是处理它的正确方法,就像你说的 Twitter 不允许那样。这完全取决于您用来访问 API 的方法,大多数都无法通过 quoted_status_id 进行搜索,因此一般的解决方案是上面的第 1 个。如果您使用GET search/tweets 并过滤包含原始推文的短网址的推文内容,则那些匹配的内容将计入您的限制,这更实用。这与过滤您感兴趣的某些词(即 stackoverflow)类似,只会产生包含该词的推文。
    • “如果你使用 GET 搜索/推文并过滤推文内容” 挑战是我要搜索什么?我不知道用户转发后的评论文本,所以我不知道要搜索什么。这意味着我必须搜索 *“所有”推文
    【解决方案2】:

    这并不容易实现。这是查找引用推文的蛮力 API 方法。

    获取您的推文 ID,它将类似于 750176081987014657

    获取搜索/推文

    使用 Twitter API 并搜索推文。

    https://dev.twitter.com/rest/reference/get/search/tweets

    GET 请求将如下所示:

    https://api.twitter.com/1.1/search/tweets.json?q=750176081987014657&count=100

    q“查询”参数是推文 ID。我已将结果 count 参数设置为最大值 (100)。

    授权

    当然,对于 Twitter API,您还必须完成一大堆棘手的 Authorization 标头工作才能完成 GET 请求。这已在其他地方记录,超出了此答案的范围。

    结果与结论

    当您获得此 GET 请求的 JSON 结果后,请关注 statuses 集合。对于集合中的每条推文(也称为“状态”),检查它是否包含quoted_status_id 字段。如果是这样,并且字段值与您的推文 ID 匹配,则推文是引用推文。如果没有,它只是一个没有添加评论的转发。如果结果超过 100 个,您还必须处理对结果的分页进行迭代。这是通过查找 search_metadata.next_results 字段并从中检索下一个 GET 查询字符串来完成的,该字符串将为您提供。

    【讨论】:

      猜你喜欢
      • 2015-08-28
      • 2018-01-25
      • 1970-01-01
      • 2014-06-26
      • 2011-02-12
      • 2016-01-13
      • 2011-12-02
      • 1970-01-01
      • 2019-10-03
      相关资源
      最近更新 更多