我有一个公司网站,我想要发送推文,但我正在使用http源获得速率限制。所以,我想使用经过身份验证的方法来获取推文。
我是否真的需要注册一个应用程序来执行此操作,即使它不是真正的应用程序,我的用户也永远不会输入或更改Twitter帐户信息。
此外,我的公司网站没有公共地址,通过Twitter注册申请似乎需要公共网址。那我怎么能解决这个问题呢?我是否必须创建一个带有公共URL的“假”应用程序,只是为了生成我的密钥?
感谢您提供任何帮助。
答案 0 :(得分:1)
如果您的网站与所有用户一起位于代理服务器后面,那么使用Javascript / jQuery将无济于事。所有请求仍然来自同一个IP,并且将达到速率限制,正如您现在所做的那样。
另一个问题是您无需注册应用以请求Feed。 Oauth只需要应用程序,获取Feed不需要。
处理此问题的最佳方法是使用服务器脚本获取Feed,将其存储在服务器上,然后将服务器副本传送到网页。如果您每小时请求的次数少于150次,则不会出现限制问题。
如果您需要多个Feed,则可以使用流式API获取最多400个关键字或最多5,000个用户的所有推文。这仍然不需要注册的应用程序,因为流API仍然允许Basic Auth。
答案 1 :(得分:1)
只是想发布这个以供将来参考,以防其他人有同样的问题。解决我的问题的方法是在twitter上注册一个应用程序。但由于我只是使用单个用户,因此您不必执行常规OAuth步骤来生成密钥请求,获取响应等。您在twitter中注册的每个应用程序都获得了自己的“访问令牌”可以用来检索推文等。所以,这就是我最终要解决的问题。
其他详细信息:我主要担心的是必须执行请求访问代码等的OAuth步骤...因为我的应用程序只是单个用户实现(只是从公司持有的Twitter帐户中提取我们公司相关的推文),只是似乎不必要做所有这些。但我发现,当您在Twitter上注册应用程序时,您会获得每个应用程序的私人访问令牌。您可以在此处查看有关该信息的一些信息:https://dev.twitter.com/pages/oauth_single_token。
答案 2 :(得分:0)
听起来你正在通过服务器上的http提取数据?您可以限制更新,以免达到速率限制。
我建议在客户端执行此操作。有很多非常容易使用的可嵌入java脚本的twitter客户端。速率限制问题会消失,因为源将来自桌面而不是服务器(除非它们只是保持刷新)。
Twitter developer wiki列出了一些。
Tweet(另一个JQuery插件)