如何获取用户所做的所有Twitter更新?

时间:2009-05-03 21:10:56

标签: twitter

这实际上仅供我自己使用:我希望能够搜索我的所有更新。 Twitter的搜索(http://search.twitter.com)是有时间限制的 - 它似乎只搜索最近几周的更新,因此很难找到我几个月前发布的内容。

3 个答案:

答案 0 :(得分:4)

要获取用户的消息列表,您可以使用Twitter API但是您需要一个用户&某些电话的密码,例如您需要的电话:

最多200的示例: http://twitter.com/statuses/user_timeline.xml?count=200

您可以使用其他参数,例如“since”或其他不同格式的XML。 Click here for more info

答案 1 :(得分:2)

首先,您必须被授权查看用户帐户(否则您将永远无法获得用户的整个时间表)。有两种方法可以实现身份验证:您可以使用用户的凭据登录,也可以获取OAuth身份验证令牌。绝对是OAuth方法,几乎​​没有充分理由使用实际凭证,用户厌倦了将随机应用程序提供登录数据。

获得OAuth令牌后,您可以调用REST API以获取用户的时间轴

http://twitter.com/statuses/user_timeline.format

其中 format 代表您的应用程序摘要的首选输出格式(现在支持xml,json,rss和atom)。

除了明显的 user_id 参数外, count page 参数对您的目的非常重要。 count 允许您指定要返回的结果数量(最多200个),页面表示您想要返回的页码。总而言之,您可以获得任何给定用户的最新3200更新(对于 count x page 的任意组合)。

为了避免不必要的抓取,您的应用程序应该在后台每天几次联系Twitter API以获取当前状态。请注意,每个用户限制您对Twitter服务器进行查询的频率,因此必须对状态消息进行本地缓存。

仅在您绝对必须时才使用搜索API。对于您的情况,几乎可以肯定没有必要。

您可以找到状态/ user_timeline调用here的API文档。 Abraham Williams通过github提供了一个优秀的OAuth / Twitter PHP模块。

答案 2 :(得分:2)

这是一个技巧

http://twitter.com/statuses/user_timeline/username.xml?count=1000&since=0

因为param允许你覆盖默认计数max :)所以现在你可以获得大量的更新,而不必遍历页面。