究竟什么'since_id'和'max_id'在Twitter API中意味着什么

问题描述 投票:31回答:3

我一直在研究Twitter文档已经有一段时间了,而且我已经在一段时间内如何获得一段时间内的关注者增长数据/一段时间内的推文数量......

我想从社区了解since_idmax_id以及count在Twitter API中的含义。

我一直在关注这个页面https://developer.twitter.com/en/docs/tweets/timelines/api-reference/get-statuses-user_timeline

我正在尝试为用户获取统计信息 -

  • 特定时间段内的推文数量
  • 特定时间段内的粉丝数量
  • 转推的数量

我想帮助形成以上的查询字符串..

谢谢..

api twitter tweets
3个回答
32
投票

since_id和max_id都是非常简单的参数,可以用来限制从API返回的内容。来自the docs

since_id - 返回ID大于(即更新)指定ID的结果。可以通过API访问的推文数量有限制。如果自since_id以来发生了推文限制,则since_id将被强制为可用的最旧ID。 max_id - 返回ID小于(即早于)或等于指定ID的结果。

因此,如果您有给定的推文ID,则可以使用这两个参数搜索较旧或较新的推文。

count甚至更简单 - 它指定了你想要回来的最大推文数量,最多200个。

遗憾的是,API不会完全回复您所需的内容 - 您无法在查询user_timeline时指定日期/时间 - 尽管您可以在使用搜索API时指定一个日期/时间。无论如何,如果您需要使用user_timeline,那么您需要轮询API,收集推文,确定它们是否与您想要的参数匹配,然后相应地计算您的统计数据。


13
投票

max_id = tweets id列表的顶部。 since_id = tweets id列表的底部。

更多:深入了解最后一个图表.. here


1
投票

max_id和since_id用于防止Twitter API调用时的冗余。可视化推送到堆栈中的推文。一个API调用必须指定将处理多少(计数)推文。但是,在进行此调用时,可能会添加新的推文。在这种情况下,如果您绘制一个堆栈并运行该过程,您会注意到可能存在一些“碎片”或未处理的推文部分卡在已处理的推文之间。这在下图中也是可见的。

enter image description here

为了解决这个问题,使用两个参数来跟踪先前处理的最新/最大ID推文(since_id)和最近处理的最旧/最低ID推文(max_id)。 since_id指向'fragment'的底部,而(max_id-1)指向'fragment'的顶部。 (注意,max_id是包含的,与since_id不同)因此,这些参数一起记录了仍然需要处理推文堆栈的哪个部分。

© www.soinside.com 2019 - 2024. All rights reserved.