1

我正在使用Twitter 搜索 API,但我无法理解id推文的字段。

例如这里是一个:<id>tag:search.twitter.com,2005:1990561514</id>。真实ID是最后的数字部分,对吧?为什么 Twitter 没有在单个元素中提供此功能?2005而且,为什么ID字段上有一年?那一年的 ID 和次年的推文是否将 ID 重新计算为零?ID 是否按年份编入索引?

我要问所有这些东西,因为我将使用选项since_id来检索新推文。如果 ID 不是真正唯一的并且取决于年份,则它不会按预期工作。

谢谢。

4

2 回答 2

2

标签是独一无二的——但其中的一部分是多余的。

tag:search.twitter.com,2005:1990561514

显然,search.twitter.com 是您请求文档的 URL。

,2005 是不变的。据我所知,自服务推出以来,它从未改变过。虽然没有官方文档,但我猜它指的是 ATOM 规范命名空间 - http://www.w3.org/2005/Atom

最后,长数字是推文的状态 ID。它始终是唯一的,可用于 since_id。

您需要做的是拆分字符串,然后使用冒号后面的数字作为您的 ID。

于 2012-06-29T12:53:35.297 回答
0

我相信你做错了什么。如果您查看来自 Twitter 搜索 API 的所有示例结果,则没有一个 id 字段的格式与您所显示的一样。

例如:

http://search.twitter.com/search.json?q=%40twitterapi%20-via

此外,如果您查看示例请求页面,您将看到所有 id 字段都具有正常格式,即:

"id":122032448266698752

更新:

现在我知道您正在使用 atom 提要,我可以看到看似奇怪的格式元素来自何处。请参阅这篇关于避免在原子提要中重复的文章。另一篇有用的文章

基本上,原子提要要求提要中的每个元素都有一个唯一的 id。一些提要使用“标签”方案来确保唯一性。这种格式实际上在原子提要中很常见,许多框架默认使用它。例如,RoR AtomFeedHelper(甚至可能是 Twitter 使用的)指定默认格式为:

"tag:#{request.host},#{options}:#{request.fullpath.split(".")}"
于 2012-06-28T05:33:15.300 回答