题
这实际上仅供我自己使用:我希望能够搜索我的所有更新。推特的搜索(http://search.twitter.com)是有时间限制的 - 它似乎只搜索最近几周的更新,因此很难找到我几个月前发布的内容。
解决方案
要获取用户的消息列表,您可以使用Twitter API但是您需要一个用户&某些电话的密码,例如您需要的电话:
最多200的示例: http://twitter.com/statuses/user_timeline.xml?count=200
您可以使用其他参数,例如“since”或其他格式与XML不同。 点击此处获取更多信息
其他提示
首先,您必须被授权查看用户帐户(否则您将永远无法获得用户的整个时间线)。有两种方式实现认证:您可以使用用户的凭据登录或获取 OAuth 身份验证令牌。OAuth 方法绝对是最佳选择,几乎没有充分的理由使用实际凭据,并且用户厌倦了向随机应用程序提供登录数据。
获得 OAuth 令牌后,您可以调用 REST API 来获取用户的时间线
http://twitter.com/statuses/user_timeline.format
在哪里 格式 代表您的应用程序摘要的首选输出格式(目前支持 xml、json、rss 和atom)。
除了显而易见的 用户身份 参数, 数数 和 页 参数对于您的目的很重要。 数数 允许您指定要返回的结果数量(最多 200 个)以及 页 是您想要取回的页码。总而言之,您可以获得任何给定用户的最近 3200 条更新(对于任意组合) 数数 X 页).
为了避免不必要的爬行,您的应用程序应该每天在后台联系 Twitter API 几次以获取当前状态。请注意,每个用户对 Twitter 服务器查询的频率有限制,因此状态消息的本地缓存是必须的。
仅在绝对必要时才使用搜索 API。对于您的情况,几乎可以肯定这是没有保证的。
您可以找到 statuses/user_timeline 调用的 API 文档 这里. 。Abraham Williams 提供了一个用于 OAuth/Twitter 的优秀 PHP 模块,通过 github.
这是一个技巧
http://twitter.com/statuses/user_timeline/username.xml?count=1000&since=0
因为param允许你覆盖默认计数max :)所以现在你可以获得大量的更新,而不必遍历页面。