我对如何处理这个问题有些困惑。本质上,我正在尝试了解有关Angular在Rails上的更多信息,因此我正在以API模式使用Rails - 但是,目前,我正在尝试将API构建到我发起的非API版本中(并不相关,不太相关,但是我很好奇如何使它两者都可以工作)。
非常基本的测试,我想知道他 /steam/:id
端点(在此示例中),并获得 GetPlayedSummaries
。安装了httparty,并在终端工作。
class SteamController < ApplicationController
@steamKey = "{REDACTED}"
@baseUrl = "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key='+@steamKey+'&steamids='+@steamId+'"
def get_player_summaries
@steamId = params[:id]
puts @baseUrl
@games = HTTParty.get(@baseUrl).to_json
puts response.body, response.code, response.message, response.headers.inspect
end
end
这是我非常基本的控制器。实际上,我没有理由让Steamkey分开,但这有助于鼓励我需要帮助。
最初我有 @baseUrl
as @baseUrl = "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=#{@steamKey}+'&steamids=#{@steamId}"
使用完整版本,我得到了一个 bad argument (expected URI object or URI string)
指向@baseurl,所以我觉得我不正确地包含它。我正在努力,但是即使它起作用,我也不确定如何制作它,所以它只是将其扔到UI中,以纯JSON?我使用JSON Builder等的许多其他元素来完成此操作,但这是数据库数据。这只是一个API调用。
洞察/文档我可以查看?
编辑:我相信我关于使用@steamKey
的问题与此文章有关。@
甚至被传给get_player_summaries
如我的编辑中所述,我能够找到文章来解释如何正确使用URL。
我的工作代码是:
class SteamController < ApplicationController
def initialize
@steamKey = "{REDACTED}"
@baseUrl = "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key="+@steamKey+"&steamids="
end
def get_player_summaries
@playerUrl = @baseUrl + params[:id]
@games = HTTParty.get(@playerUrl).to_json
puts response.body, response.code, response.message, response.headers.inspect
render json: @games
end
end
响应有点慢,但可能是C9的问题。