Начало работы с Magento REST API

8

Так что официальная документация очень краткая (плохая!), Особенно для тех, кто не работал с REST / Oauth в прошлом. Я использую Magento 1.8.1 CE.

Может ли кто-нибудь представить простой пример PHP как использовать REST API Magento?

Используя их пример кода ( http://www.magentocommerce.com/api/rest/introduction.html ), я получаю две ошибки:

Message: Undefined index: state
Message: Use of undefined constant OAUTH_AUTH_TYPE_URI - assumed 'OAUTH_AUTH_TYPE_URI'

До сих пор я сделал:

  • Установите расширение PHP oauth
  • Создайте хотя бы один продукт в Magento
  • Настройте разрешения ресурса для пользователя Admin REST для получения всех данных о продукте для администратора
  • Создать Потребителя

Любая помощь очень ценится.

РЕДАКТИРОВАТЬ : я сузил проблему до (сюрприз, сюрприз!) OAuth не работает должным образом. Я сдался и изменил гостевые роли и атрибуты, чтобы разрешить все. Затем я проверил вещи, чтобы увидеть, работают ли они, перейдя к:

http://yourdomain/api/rest/products
http://yourdomain/api/rest/products/1/images

Все действительно работает. Если / когда я выясню, как правильно обращаться с аутентификацией, я выложу ответ.

user2636834
источник
Вы можете использовать примеры, перечисленные здесь, для аутентификации. magentocommerce.com/api/rest/… . (прокрутите вниз, пока не увидите код) Один для гостя / клиента и один для входа администратора. Они в основном одинаковые, отличается только URL-адрес. Они хорошо сработали для меня.
Мариус
Я посмотрю. У меня сейчас гость работает, так что я испортил аутентификацию. Спасибо за совет. Кроме того, вам пришлось создавать файл oauth_admin.php самостоятельно? (извините, если это объяснено в связанной статье, но я решил спросить вас, так как у вас это работает (:-).
user2636834

Ответы:

2

Так @ user2636834 ты уже понял это?

Я помню, когда я настраивал тестовый сценарий, я получал те же ошибки. Казалось, что у меня не было установлено Oauth: O. Короче говоря, я сделал (запустив Ubuntu и следуя этим инструкциям , также столкнулся с этой ошибкой ):

pecl install oauth

Затем добавьте extension=oauth.soв php.iniраздел «Динамические расширения». Затем перезапустите Apache

Я попробовал примеры с сайта Magento и получил ошибку от API:

«Неверный запрос на аутентификацию / неверный запрос»

Мне пришлось добавить 'Accept' => '*/*'заголовок к $oauthClient->fetch()звонку. После этого все заработало просто отлично.

Надеюсь, что вы можете запустить вещи, если вы еще не сделали.

7ochem
источник
Я разместил подобную проблему здесь -> magento.stackexchange.com/questions/63611/… . Я попытался добавить 'Accept' => '*/*'к $oauthClient->fetch()и все еще получить 403 Forbiddenответ. Кто-то еще сказал, что они решили 403 после установки SSL. Это действительно необходимо? (просто чтобы быть ясно, у меня установлен Oauth, и я получаю только ошибку 403 - никаких других ошибок)
gtr1971