我怎样才能获得用户所做的所有Twitter更新?

我怎样才能获得用户所做的所有Twitter更新?,twitter,Twitter,这真的只是我自己的使用:我希望能够搜索我的所有更新,永远。Twitter的搜索()是有时间限制的-它似乎只搜索最近几周的更新,因此很难找到我几个月前发布的内容。要从用户那里获取消息列表,您可以使用Twitter API,但对于某些调用,您需要用户和密码,如您需要的: 最大值为200的示例: 您可以使用其他参数,如“因为”或其他与XML不同的格式 首先,必须授权您查看用户帐户(否则您将永远无法获得用户的整个时间线)。有两种方法可以实现身份验证:您可以使用用户的凭据登录,也可以获取OAuth身份验

这真的只是我自己的使用:我希望能够搜索我的所有更新,永远。Twitter的搜索()是有时间限制的-它似乎只搜索最近几周的更新,因此很难找到我几个月前发布的内容。

要从用户那里获取消息列表,您可以使用Twitter API,但对于某些调用,您需要用户和密码,如您需要的:

最大值为200的示例:


您可以使用其他参数,如“因为”或其他与XML不同的格式

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

一旦拥有OAuth令牌,就可以调用RESTAPI来获取用户的时间线

http://twitter.com/statuses/user_timeline.format
其中format表示应用程序摘要的首选输出格式(目前支持xml、json、rss和atom)

除了明显的user_id参数外,count和page参数对于您的目的也很重要。count允许您指定要返回的结果数量(最多200个),page是您要返回的页码。总之,您可以获得任何给定用户的最近3200次更新(对于count x page的任何组合)

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

只有在绝对必要时才使用搜索API。对于您的场景,几乎可以肯定,这是不必要的

您可以找到status/user\u timeline调用的API文档。Abraham Williams通过提供了一个优秀的用于OAuth/Twitter的PHP模块

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

“因为”参数允许您覆盖默认的最大计数:),因此现在您可以在不遍历页面的情况下获得大量更新。

我刚刚尝试了这一点,但Twitter的响应是XML文件中的一个错误,显示“未找到”。我需要为我的帐户设置Twitter API吗?嗯,所以如果我请求感谢提示,它看起来只是使用我登录的用户!您能在回答中编辑URL以反映这一点吗?完成。user_timeline.xml现在是示例,OAuth方法仍然有缺陷。。。例如,如果我们公司使用OAuth,我们的应用程序可能会中断近70个小时。我会等推特把事情弄清楚。一般来说,没有理由使用一个人的真实身份登录。我知道,Facebook是通过GMail之类的工具实现的,但这仍然是一场安全噩梦。这正是OAuth解决的问题。推特中断有各种形式,但在我看来,这并不是选择直接登录的理由。