次のような URL を使用して REST API を呼び出すスクリプトを作成したいと考えています。
http://localhost:3000/api/v1/user/xyz
この URL をブラウザーで開くと、ユーザーの電子メールとパスワードを要求されます。認証が完了すると、ユーザー ID を含む 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を認証するために電子メールとパスワードを渡して、「ID」を返すにはどうすればよいですか?