Докладна документація по Magento REST API тут.
Реєстрація та уповноваженому додатку
Отже, приступимо. Першим ділом, потрібно отримати всі потрібні параметри для авторизації. Зокрема ключі consumer_key і consumer_secret. І, власне хост(magentohost), на якому встановлене Magento.
Скажу відразу, налаштування платформи Magento для REST API не розглядається в рамках цієї статті.
require 'json' require 'oauth' auth = { consumer_key: '***' , consumer_secret: '***' , } magentohost = 'http://example.com' @consumer = OAuth::Consumer. new (auth[ :consumer_key ], auth[ :consumer_secret ], { :site => magentohost, :request_token_path => '/oauth/initiate' , :access_token_path => '/oauth/token' , :authorize_path => '/admin/oauth_authorize' , }) |
Отримання токена
Для отримання access_token потрібно перейти за наступним посиланням, увійти(якщо потрібно) і уповноважити додаток.
Якщо автентифікація пройдена успішно, потрібно ввести отриманий код верифікації. Після цього будуть отримані token і token_secret, які використовуватимуться для здійснення HTTP запитів.
request_token = @consumer .get_request_token puts request_token.authorize_url print 'Код перевірки: ' verifier = gets.strip access_token = request_token.get_access_token( :oauth_verifier => verifier) auth[ :token ] = access_token.token auth[ :token_secret ] = access_token.secret |
Запити до API
Ми вже отримали access_token і можемо виконувати HTTP запити.
response = access_token.request( :get , '/api/rest/products' ) rsp = JSON .load(response.body) |
Раніше отримані token і token_secret можна зберегти для того, щоб виконувати запити без попередньої автентифікації.
auth[ :token ] = "***" auth[ :token_secret ] = "***" access_token = OAuth::AccessToken. new ( @consumer , auth[ :token ], auth[ :token_secret ]) response = access_token.request( :get , '/api/rest/products' ) rsp = JSON .load(response.body) |
На цьому все.
Немає коментарів:
Дописати коментар