Ruby on rails HTTP获取请求

Ruby on rails HTTP获取请求,ruby-on-rails,facebook,get,Ruby On Rails,Facebook,Get,我一直在尝试让Rails使用新的Facebook Graph API。在我获得授权“代码”之后,我需要发送另一个请求,该请求以JSON形式返回访问令牌 它似乎工作得很好,但是我希望在不重定向用户的情况下获取访问令牌JSON。我正在尝试使用Net::HTTP.get,但我不确定如何使用它来获取请求体,甚至不确定它是否是一开始使用的正确方法 有人能举一个执行HTTP GET的例子吗? 但请注意,这意味着服务器必须登录到facebook,而若浏览器正在重定向,则必须由用户登录到服务器。因此,您的服务器

我一直在尝试让Rails使用新的Facebook Graph API。在我获得授权“代码”之后,我需要发送另一个请求,该请求以JSON形式返回访问令牌

它似乎工作得很好,但是我希望在不重定向用户的情况下获取访问令牌JSON。我正在尝试使用Net::HTTP.get,但我不确定如何使用它来获取请求体,甚至不确定它是否是一开始使用的正确方法

有人能举一个执行HTTP GET的例子吗?

但请注意,这意味着服务器必须登录到facebook,而若浏览器正在重定向,则必须由用户登录到服务器。因此,您的服务器设置了权限吗

  • 你可以假装你是用户。糟糕的想法(您必须在服务器上以明文形式存储密码)
  • 你可以用。因此,您应该使用而不是Net::HTTP。您将无法避免重定向-这是授权过程的一部分,用户必须说他允许访问数据(想象一下,如果有人可以访问facebook上的任何数据会是什么样子)
      我已经找到了解决方法,问题主要在于我需要一个HTTPS连接

      改编自:

      任何试图使用Graph API的人,请注意@access\u token中存储的值是以参数字符串的形式存在的,例如“access\u token=xxxx&expires=1234”


      我只需重定向到另一个页面并将其用作URL参数,就可以对其进行解析,但可能有更好的方法。

      Graph API使用OAuth2,虽然有一个gem,但它使用Rack 1.1.0,这会干扰Rails 2.3.5对Rack 1.0.x的要求,因此如果可能,我希望避免这种情况。实际上,我已经通过一些手动请求获得了访问令牌,问题是在第二阶段——这是在重定向到FB并返回之后,它向我发送了“代码”——当我请求访问令牌时,它只是显示为JSON,而不会重定向回我的应用程序。我需要阅读JSON,与一般获取任何页面类似,我只需要知道如何在Rails中实现它。
      path = '/oauth/access_token?...'
      http = Net::HTTP.new('graph.facebook.com', 443)
      http.use_ssl = true
      res = http.get(path, nil)
      @access_token = res.body