2013-11-15 46 views
0

我是RestClient的新手,但是我在網絡中深度搜索,找不到幫助的東西。RestClient獲得auth_token

我的代碼如下,並正在努力,但我在尋找的東西更優雅:

def get_from_mgmt(sub_path, par) 

    par += "&" unless par.empty? 
    path = ":http//#{USER}:#{PASSWORD}@#{HOST}/#{sub_path}.json?#{par}auth_token=#{AUTH_TOKEN}" 
    single_page = JSON.parse(RestClient.get path) 

end 

我在網上找到了以下內容:

response = RestClient::Request.new(
:method => :get, 
:url => @my_url + "/" + path.to_s, 
:user => @my_user, 
:password => @my_pass, 
:headers => { :accept => :json, 
:content_type => :json } 
).execute 
results = JSON.parse(response.to_str) 

,我喜歡它,但我不明白在哪裏添加AUTH_TOKEN和其他參數。我已經嘗試在頭文件中添加auth_token,除了初始化之外。

歡迎任何幫助! 謝謝。

回答

0

好吧,最後我找到了。我必須把參數和的auth_token(即也被視爲參數)中:有效載荷

response = RestClient::Request.new(
    :method => :get, 
    :url => base_url + "/" + sub_path, 
    :user => user, 
    :password => pwd, 
    :headers => {:accept => :json, 
        :content_type => :json}, 
    :payload => {:auth_token => auth_token}.merge(par) 
).execute 

其中面值是參數的散列。在我的情況下,par = {:states = "fail"}