How do I access the Magento REST API with Ruby? -


i want start working magento's rest api, can't seem working.

to start need access tokens, here's i'm trying:

require 'oauth'  @consumer = oauth::consumer.new("4200100753b2c8b03bde1f5b062c5a80", "c06abdcb734c85dfd7bb115c6a67ae4d", {:site=>"http://178.62.173.99/"}) @request_token = @consumer.get_request_token  # => oauth-0.4.7/lib/oauth/consumer.rb:216:in `token_request': 404 not found (oauth::unauthorized) 

but keep getting 404 error.

what should try next?

here's ruby module i've written create access token magento rest api:

module token   def create_consumer     oauth::consumer.new(       consumer_key,       consumer_secret,       :request_token_path => '/oauth/initiate',       :authorize_path=>'/admin/oauth_authorize',       :access_token_path=>'/oauth/token',       :site => url     )   end    def request_token(args = {})     args[:consumer].get_request_token(:oauth_callback => url)   end    def get_authorize_url(args = {})     args[:request_token].authorize_url(:oauth_callback => url)   end    def authorize_application(args = {})     m = mechanize.new      m.get(args[:authorize_url]) |login_page|       auth_page = login_page.form_with(:action => "#{url}/index.php/admin/oauth_authorize/index/") |form|         form.elements[1].value = admin_username         form.elements[2].value = admin_password       end.submit        authorize_form = auth_page.forms[0]        @callback_page = authorize_form.submit     end      @callback_page.uri.to_s   end    def extract_oauth_verifier(args = {})     callback_page = "#{args[:callback_page]}".gsub!("#{url}/?", '')      callback_page_query_string = cgi::parse(callback_page)      callback_page_query_string['oauth_verifier'][0]   end    def get_access_token(args = {})     args[:request_token].get_access_token(:oauth_verifier => args[:oauth_verifier])   end    def save_tokens_to_json(args = {})     auth = {}      auth[:time] = time.now     auth[:token] = args[:access_token].token     auth[:secret] = args[:access_token].secret      file.open("#{args[:path]}#{args[:filename]}.json", 'w') {|f| f.write(auth.to_json)}      auth   end    def get_new_access_tokens     new_consumer = self.create_consumer     new_request_token = self.request_token(consumer: new_consumer)     new_authorize_url = self.get_authorize_url(request_token: new_request_token)     authorize_new_application = self.authorize_application(authorize_url: new_authorize_url)     extract_new_oauth_verifier = self.extract_oauth_verifier(callback_page: authorize_new_application)     new_access_token = self.get_access_token(request_token: new_request_token, oauth_verifier: extract_new_oauth_verifier)     save_tokens_to_json(filename: 'magento_oauth_access_tokens', path: '/', access_token: new_access_token)      return 'successfully obtained new access tokens.'   end end 

run #get_new_access_tokens access token.

don't forget define following variable:

  • consumer_key
  • consumer_secret
  • url
  • admin_username
  • admin_password

Comments

Popular posts from this blog

java - How to specify maven bin in eclipse maven plugin? -

single sign on - Logging into Plone site with credentials passed through HTTP -

php - Why does AJAX not process login form? -