【问题标题】:Twitter feed on corporate site公司网站上的 Twitter 提要
【发布时间】:2011-04-08 02:11:01
【问题描述】:

我有一个公司网站,我想将推文拉入其中,但我使用 http 提要获得了速率限制。所以,我想使用经过身份验证的方法来获取推文。

我真的必须注册一个应用程序才能做到这一点,即使它不是一个真正的应用程序,而且我的用户永远不会输入或更改 twitter 帐户信息。

另外,我的公司网站没有公共地址,通过 twitter 注册应用程序似乎需要公共 URL。那么我该如何解决呢?我是否必须创建一个带有公共 url 的“假”应用程序才能生成我的密钥?

感谢您对此的任何帮助。

【问题讨论】:

  • 我假设通过 http 速率限制您只是从贵公司的公共提要中提取推文?推特提要多久更新一次?

标签: twitter twitter-oauth


【解决方案1】:

如果您的网站以及所有用户都位于代理服务器后面,那么使用 Javascript/jQuery 将无济于事。所有请求仍将来自同一个 IP,并且会达到速率限制,就像您现在所做的那样。

另一个问题是您无需注册应用即可请求提要。只有 Oauth 需要应用程序,而获取提要则不需要。

处理此问题的最佳方法是使用服务器脚本获取提要,将其存储在服务器上,然后将服务器副本传送到网页。如果您每小时请求提要的次数少于 150 次,则不会遇到限制问题。

如果您需要多个提要,您可以使用流式 API 获取最多 400 个关键字或最多 5,000 个用户的所有推文。这仍然不需要注册的应用程序,因为流 API 仍然允许基本身份验证。

【讨论】:

  • 感谢您的回复。问题是,使用 get an http get to api.twitter.com/1/statuses/…,我得到了速率限制。我不知道公司网络上还有什么使用相同类型的请求,所以我无法控制它。而且我认为@Casey 建议的在代理服务器上运行脚本也不适用于我的情况。我不确定使用流 API 是否会有同样的限制。所以这就是为什么我正在考虑使用 OAuth 并直接登录到我的帐户来获取我的推文。还有什么想法吗?
【解决方案2】:

只是想发布这个以供将来参考,以防其他人有同样的问题。我的问题的解决方案是在 Twitter 上注册一个应用程序。但是由于我只使用单个用户,因此您不必执行生成密钥请求、获取响应等的常规 OAuth 步骤。您在 twitter 中注册的每个应用程序都会获得您自己的“访问令牌”可以用来检索推文等。所以,这就是我最终解决我遇到的问题的方法。

其他细节:我主要关心的是必须执行请求访问代码等的 OAuth 步骤......因为我的应用程序只是一个用户实现(只是从公司持有的 Twitter 帐户中提取我们公司相关的推文),它似乎没有必要做所有这些。但我发现,当你在 twitter 上注册一个应用程序时,你会为每个应用程序获得一个私有访问令牌。你可以在这里查看一些相关信息:https://dev.twitter.com/pages/oauth_single_token

【讨论】:

  • 你能扩展这个答案吗?您是否使用 oauth_token 和 secret 签署请求?
  • 我添加了一些“附加细节”,可能有助于理解我所做的事情。
【解决方案3】:

听起来您正在通过服务器上的 http 拉取提要?您可以只限制更新,以免达到速率限制。

我建议改为在客户端执行此操作。有很多非常易于使用的可嵌入 Java 脚本 twitter 客户端。速率限制问题将消失,因为提要来自桌面而不是服务器(除非他们只是不断刷新它)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-13
    • 1970-01-01
    相关资源
    最近更新 更多