我想获得一条推文的所有“带有评论的转发”。
以下是我使用 twitter api 注意到的几件事
- 带有评论的转推被视为推文。如果您添加评论,转推计数不会增加,推特消息也是“XYZ 引用了您而不是转推了您”
- 您显然不能使用此 API 端点https://dev.twitter.com/rest/reference/post/statuses/retweet/:id
如果您可以提供原始推文/ID,有没有办法找到所有“带有评论的推文/转推”?
我想获得一条推文的所有“带有评论的转发”。
以下是我使用 twitter api 注意到的几件事
如果您可以提供原始推文/ID,有没有办法找到所有“带有评论的推文/转推”?
所以你指的是引用的推文(转发评论)。REST API 还没有官方的方法,但是,有几种方法可以做到这一点。
in_reply_to_status_id
进行过滤quoted_status_id
这可以通过 REST 或 STREAMING API 完成。quoted_status_id:此字段仅在推文是引用推文时出现。该字段包含被引用推文的整数值推文 ID。
这并不容易实现。这是查找引用推文的蛮力 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 查询字符串来完成的,这将为您提供。