我想編寫一個腳本使用URL等,其調用REST API:如果我在瀏覽器中打開這個網址如何編寫腳本來調用REST API?
http://localhost:3000/api/v1/user/xyz
,它要求用戶的電子郵件和密碼。一旦我進行了身份驗證,它就會返回帶有用戶標識的JSON響應。我不知道我應該如何通過腳本進行身份驗證。有人可以給我一個建議嗎?
這是我開始:
require 'rubygems'
require 'net/http'
require 'json'
api_url = "http://localhost:3000/api/v1//user/xyz"
response = Net::HTTP.get_response(URI.parse(api_url))
data = JSON.parse(response.body)
fields = data.keys
puts fileds
puts data.keys
這是API認證:
before_filter :authorize, :except => [:keys]
private
def authorize
authenticate_or_request_with_http_basic do |username, password|
user = User.find_by_email(username)
if user && user.valid_password?(password)
sign_in :user, user
end
end
end
我如何可以通過電子郵件和密碼來驗證這個API,所以我可以得到「身份證「作爲回報?
完全取決於API如何驗證。一個'REST' api只能提供有關數據的約定,但它並沒有讓你假設任何關於驗證如何工作的內容。它是HTTP認證嗎?或者它需要某種API令牌?或者您是否在網頁上提供了一個表單,要求您先登錄?或者是其他東西?查閱API的文檔以找出它需要憑據的方式。 –
我已經更新了我的代碼以顯示驗證此api使用。 – user588324
也考慮使用ActiveResource。 –