我似乎无法弄清楚如何对以下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。