我有一个公司网站,我想将推文拉入其中,但我使用 http 提要获得了速率限制。因此,我想使用经过身份验证的方法来获取推文。
我真的必须注册一个应用程序才能做到这一点,即使它不是一个真正的应用程序,而且我的用户永远不会输入或更改 Twitter 帐户信息。
此外,我的公司网站没有公共地址,通过 twitter 注册应用程序似乎需要公共 url。那么我该如何解决呢?我是否必须创建一个带有公共 URL 的“假”应用程序,才能生成我的密钥?
感谢您对此的任何帮助。
我有一个公司网站,我想将推文拉入其中,但我使用 http 提要获得了速率限制。因此,我想使用经过身份验证的方法来获取推文。
我真的必须注册一个应用程序才能做到这一点,即使它不是一个真正的应用程序,而且我的用户永远不会输入或更改 Twitter 帐户信息。
此外,我的公司网站没有公共地址,通过 twitter 注册应用程序似乎需要公共 url。那么我该如何解决呢?我是否必须创建一个带有公共 URL 的“假”应用程序,才能生成我的密钥?
感谢您对此的任何帮助。
如果您的网站以及所有用户都位于代理服务器后面,那么使用 Javascript/jQuery 将无济于事。所有请求仍将来自同一个 IP,并且会达到速率限制,就像您现在所做的那样。
另一个问题是您无需注册应用程序即可请求提要。只有 Oauth 需要应用程序,而获取提要则不需要。
处理这个问题的最佳方法是使用服务器脚本获取提要,将其存储在服务器上,然后将服务器副本传送到网页。如果您每小时请求提要的次数少于 150 次,则不会遇到限制问题。
如果您需要多个提要,则可以使用流式 API 获取最多 400 个关键字或最多 5,000 个用户的所有推文。这仍然不需要注册的应用程序,因为流 API 仍然允许基本身份验证。
只是想发布这个以供将来参考,以防其他人有同样的问题。我的问题的解决方案是在 Twitter 上注册一个应用程序。但是由于我只使用单个用户,因此您不必执行生成密钥请求、获取响应等的常规 OAuth 步骤。您在 twitter 中注册的每个应用程序都会获得您自己的“访问令牌”可以用来检索推文等。所以,这就是我最终解决我遇到的问题的方法。
Additional details: My main concern was having to do the OAuth steps of requesting an access code etc... Since my application is only a single user implementaion (just pulling in our company related tweets from company held twitter accounts), it just seemed unneccesary to have to do all of that. But what I found was that when you register an app on twitter, you get a private access token for each app. You can view a little information about that here: https://dev.twitter.com/pages/oauth_single_token.