基本上我想做的是请求用户公共时间线(包括转发)而不必使用身份验证,但速率限制适用于我的应用程序而不是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身份验证机制,因为这需要他们的互动,我只想阅读他们的公共Feed。
我已经为推文实现了本地缓存,因此它每小时/用户名最多会产生4个请求,但是当ip从一开始就受到速率限制时,这对我没什么好处。
可以这样做,如果是这样,我该怎么做?
编辑:我应该补充说,使用搜索API是不可能的,因为它不会为某些用户返回任何推文(推文太旧了)。
答案 0 :(得分:1)
Twitter API上没有任何仅限应用程序的身份。要进行经过身份验证的请求,您必须具有用户上下文。如果您的集成完全是服务器端,则可以使用代表您自己帐户的单个访问令牌,并以此方式生成经过签名的,经过身份验证的请求。我不建议在客户端或分布式环境中使用任何类型的硬编码令牌。您可能希望了解使用Streaming API的可能性,并遵循过滤器 - 允许您实时传输特定用户的公共推文。