Twitter API GET user_timeline回复/评论计数

时间:2017-12-10 15:45:36

标签: twitter twitter4j spring-social spring-social-twitter

除了已经返回的favorite_count和retweet_count之外,还有什么方法可以使用GET状态/ user_timeline获取推文的评论/回复计数?

谢谢!

3 个答案:

答案 0 :(得分:0)

此功能自2011年起已被请求,但到目前为止还没有用于回复计数的公共API,因此无法直接获取推文的回复计数。

但是使用Search API

存在一种解决方法

您可以执行查询:q = "to:{author_screen_name}", sinceId = {tweet_id},而author_screen_name是屏幕名称(如@shiftpsh中的'shiftpsh'),tweet_id是您尝试的推文的ID得到回复计数。

遍历结果中的所有推文并过滤in_reply_to_status_id_str{tweet_id}

请注意,标准搜索API的搜索索引限制为7天(如果付费则为30天),因此生成的回复计数可能不准确。

答案 1 :(得分:0)

Twitter仍没有完善的解决方案。

类似于shiftpsh的答案,使用Node可以对https://twitter.com/${screen_name}/status/${tweet_id}进行查询,并使用JavaScript中的JSDOM之类的模块将HTML解析为DOM对象。通过该对象,您可以使用普通的文档查询功能提取答复计数(以及许多其他数据点)。

var repliesCount = parseInt(document.getElementsByClassName("permalink-tweet-container")[0]
    .getElementsByClassName("ProfileTweet-action--reply")[0]
  .getElementsByClassName("ProfileTweet-actionCount")[0]
  .getAttribute("data-tweet-stat-count"));

此解决方案是一种网络抓取的形式,因此在使用这些类型的解决方案时请负责。

编辑:刚注意到您的标签是Java的,jsoup是一个很棒的库,用于将HTML解析为对象并使用类似jQuery的方法遍历它。

答案 2 :(得分:0)

只是以为我会为遇到此问题的任何人更新此答案。 Twitter的API现在包括"metrics" endpoint,您可以在其中获取此信息。

遵循文档:

“ GET / tweets / metrics / private支持检索Tweet参与数据并提供以下指标的功能:

  • 展示次数
  • 转发
  • 引用推文
  • 喜欢
  • 回复
  • 视频观看次数
  • 视频观看四分位数 “

不过,警告是,它仅适用于在请求之前的30天内发布的拥有或授权的帐户和推文。