1

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

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

其中 SummonerIds 是游戏中玩家的 ID,key 是访问 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

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

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

<%= @b %>

它返回:

v1 getSummonerNames

如果我不提供 API 密钥,这与我在浏览器中得到的响应完全相同,但我确实在代码中的 URL 中提供了 API 密钥。

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

谢谢,

亚历克斯·D。

4

0 回答 0