奇怪的Twitter API行为

时间:2011-04-21 17:20:40

标签: python api twitter

我知道确实是我或每个人,我有以下代码

http://api.twitter.com/1/statuses/user_timeline.xml?screen_name=barbara_volkwyn

http://api.twitter.com/1/statuses/user_timeline.xml?user_id=248623669

显然根据Twitter api,screen_name =“barbara_volkwyn”的用户有id = 248623669,但是,当我运行上面的API调用时,我得到了完全不同的结果,有一点甚至更奇怪的是如果我尝试运行第二个API调用,返回的结果中包含的users对象甚至不是同一个用户。

我想知道任何人都有同样的问题,请随意尝试。

此致 安迪。

2 个答案:

答案 0 :(得分:1)

您的barbara_volkwyn用户ID无效。应该是:264882189 您可以通过api或通过https://tweeterid.com/

来获取用户ID。

答案 1 :(得分:0)

Search API报告的user_ids与Twitter REST API中使用的user_ids不同 - 不确定您是否在哪里找到了user_id 248623669。

时间轴包含推文,而推文又包含嵌入(但缓存)的用户对象,通常反映发布推文时用户的状态。有时用户更改他们的screen_names,因此@barbara_volkwyn名称的用户可能有一天是user_id 1234而第二天是user_id 5678,而属于user_id 1234的推文将始终属于user_id 1234,无论screen_name是什么。

根据REST API,@ babara_volkwyn的user_id是264882189.完全有可能某人持有相同的屏幕名称,但在另一时间持有不同的user_id。确定Twitter用户身份的唯一方法是通过REST API user_id引用它们 - screen_names是暂时的,并且可以由最终用户随时修改。

正如我所提到的,状态中使用的缓存用户对象可能会变得陈旧 - 有关单个用户帐户的最新信息的最可靠来源是用户/ show API方法。有关帐户最新推文的最新信息的最可靠来源是status / user_timeline方法。

嵌入式对象适用于大多数场景,但如果您正在寻找最高精度,则不同的资源是最佳的。

谢谢,泰勒。