Докладна документація по 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)
На цьому все.
Немає коментарів:
Дописати коментар