0

基本上我想做的是请求用户公共时间线(包括转发),而不必使用身份验证,但对我的应用程序而不是 IP 应用速率限制。

我想运行这个请求(对于几个不同的屏幕名称):

http://api.twitter.com/1/statuses/user_timeline.json?screen_name=stephenfry&include_rts=1&trim_user=1

反对API,但我在代理/防火墙后面,基本上导致成千上万的用户共享相同的IP,这意味着我的IP几乎总是受到速率限制。是否可以以某种方式将我的 API 密钥插入请求(标题,查询字符串的一部分)并对其进行速率限制而不是 ip?

我真的不想为每个用户完成完整的 OAuth 身份验证机制,因为这需要他们的交互,我只想阅读他们的公共提要。

我已经为推文实现了本地缓存,因此它每小时/用户名最多会发出 4 个请求,但是当 ip 从一开始就受到速率限制时,这对我没什么好处。

这可以做到吗?如果可以,我该怎么做?

编辑:我应该补充一点,使用搜索 API 是不可能的,因为它不会为某些用户返回任何推文(推文太旧了)。

4

1 回答 1

1

Twitter API 上没有任何形式的仅限应用程序的身份。要发出经过身份验证的请求,您必须具有用户上下文。如果您的集成纯粹是服务器端的,您可以使用代表您自己帐户的单个访问令牌并以这种方式发出签名、经过身份验证的请求。我不推荐在客户端或分布式环境中使用任何类型的硬编码令牌。您可能想看看使用 Streaming API 和它的跟随过滤器有什么可能 - 允许您实时流式传输特定用户的公共推文。

于 2012-05-07T16:03:35.967 回答