10

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

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

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

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

4

2 回答 2

9

所以你指的是引用的推文(转发评论)。REST API 还没有官方的方法,但是,有几种方法可以做到这一点。

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

quoted_status_id:此字段仅在推文是引用推文时出现。该字段包含被引用推文的整数值推文 ID。

于 2015-07-13T01:59:29.457 回答
0

这并不容易实现。这是查找引用推文的蛮力 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 查询字符串来完成的,这将为您提供。

于 2016-07-08T00:18:15.767 回答