Ruby on Rails在从外部API获取JSON方面遇到了麻烦

时间:2012-11-26 03:05:24

标签: ruby-on-rails-3.1

我似乎无法弄清楚如何对以下URI进行API调用:

http://elophant.com/api/v1/na/getSummonerNames?summonerIds=7428,26670961,12468&key=APIKey

其中summonerIds是游戏中玩家的ID,密钥是访问API的API密钥。

当我在浏览器中运行它时,它返回(当然是使用实际的API密钥):

["Phreak","Test","OranGe"]

当我运行时尝试通过执行以下操作在我的主控制器中为我的Rails应用程序访问它:

require 'net/http'
class MainController < ApplicationController
  def index

  end

  def player 
    @player = params[:player]

    url = URI.parse('http://elophant.com/api/v1/na/getSummonerNames?summonerIds=' +     @player + '&key=APIKey')
    req = Net::HTTP::Get.new(url.path)
    res = Net::HTTP.start(url.host, url.port) {|http|
    http.request(req)
    }
    @b = res.body 
  end
end

(如果它说“&amp; key = APIKey”,我会用实际的API密钥替换APIKey。)

然后在我的player.html.erb中打印出@b:

<%= @b %>

它返回:

v1 getSummonerNames

如果我没有提供API密钥,那么我在浏览器中得到的响应完全相同,但我确实在代码中的URL中提供了一个API密钥。

所以我的问题是,如何让浏览器使用API​​密钥来获得响应?

谢谢,

Alex D。

0 个答案:

没有答案