首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails无法获取流式数据的流式API

Rails无法获取流式数据的流式API
EN

Stack Overflow用户
提问于 2016-05-19 03:18:21
回答 1查看 271关注 0票数 0

我正在尝试从我的rails应用程序中的推特流API中获取数据,我已经创建了我自己的模块,它提供了twitter Authorization Head。我可以获得授权,但我得不到回复...我所看到的是处于pending状态的请求(我猜是因为它的流和连接没有关闭)。我可以对下面的代码做些什么,这样我就可以开始打印从流API得到的响应?

代码语言:javascript
复制
    class MainController < ApplicationController
      include Oauth::Keys

      def show
        @oauth_signature_string = Oauth::Signature.generate(signature_params)
        @header                 = Oauth::HeaderString.create(header_params)

        RestClient::Request.execute(method: :GET, url: 'https://stream.twitter.com/1.1/statuses/sample.json', :headers => {:Authorization => %Q(OAuth ****************************)} )

      end
    end
EN

回答 1

Stack Overflow用户

发布于 2016-05-19 03:52:58

因为推特正在“流式传输”数据,并且没有关闭连接,所以您的RestClient请求没有结束,并且您的show操作在那里挂起,而不是“完成”。因此,rails不能继续呈现默认的main/show.html.erb页面。

因此,您可能希望研究一下ActionController::Streaming类,看看是否可以重写视图和HTTP调用来利用它。或者,使用非流式API边缘会容易得多。

而且,你所做的似乎更适合javascript。您可能希望使用Twitter的官方Javascript api来执行所有身份验证和状态流。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37308351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档