2014-02-20 2 views
3

Я недавно обновил до последней версии WooCommerce 2.1, которая включает new RESTful API. У меня нет опыта работы с API-интерфейсами cURL или RESTful, но я думал, что даю ему игру.RESTful API - запросы запросов REST API WooCommerce с ошибкой

Мой сайт sergedenimes.com, и у меня установлен SSL на сервере.

Если я бегу curl https://sergedenimes.com/wc-api/v1 я получаю хороший длинный бит выхода JSon так:

{ 
    "store":{ 
     "name":"Serge DeNimes", 
     "description":"Original, Urban T-Shirts Of The Highest Quality by Oliver Proudlock", 
     "URL":"http:\/\/sergedenimes.com", 
     "wc_version":"2.1.2", 
     "routes":{ 
     "\/":{ 
      "supports":[ 
       "HEAD", 
       "GET" 
      ], 
      "meta":{ 
       "self":"http:\/\/sergedenimes.com\/wc-api\/v1\/" 
      } 
     }, 
     "\/customers":{ etc..... 

Это говорит о том АНИ сам работает. Однако, когда я прохожу запрос, который использует проверку подлинности:

curl https://sergedenimes.com/wc-api/v1/orders -u my_key:my_secret 

Я получаю это в ответ:

{ 
    "errors":[ 
     { 
     "code":"woocommerce_api_authentication_error", 
     "message":"Consumer Key is missing" 
     } 
    ] 
} 

Является ли мой синтаксис правильно? Я установил свой ключ и секрет под администратором WP и передал значения, но кажется, что я не передаю его с моим запросом.

Любые идеи?

+0

Я застрял в одном и том же месте. Можете ли вы поделиться полным URL-адресом? – khanghoang

+0

Полный URL-адрес в моем вопросе. Ответ Герхарда решил. Если у вас все еще есть проблемы, передача учетных данных auth как параметров GET может быть обходным путем, если ваш сервер борется с отправкой auth в заголовке (только базовый auth). Например. 'https: //example.com/wc-api/v1/orders? consumer_key = ck_7xxxxx & consumer_secret = cs_7xxxxxx' – harryg

+0

Кроме того, [Почтальон] (https://chrome.google.com/webstore/detail/postman-rest-client/ fdmmgilgnpjigdojojpjoooidkmcomcm? hl = ru) - удобный инструмент для тестирования API без зависания с завитками и т. д. – harryg

ответ

6

Убедитесь, что у вас есть безопасная опция проверки включена в WooCommerce -> Настройки -> Оформить заказ. Он будет использовать только базовый auth, если у вас включен этот параметр.

+0

Это похоже на его решение. Благодарю. – harryg

+2

Я также написал эту удобную клиентскую библиотеку, чтобы упростить взаимодействие с API. Http://gerhardpotgieter.com/2014/02/10/woocommerce-rest-api-client-library/ – Gerhard

+0

Да, я наткнулся на это, пока моя охота за поисками в Google , Я обязательно свяжусь с ним, если мне когда-либо понадобится практическое использование API. Я думаю, что наиболее полезно заказать исполнителей, и я передам наш текущий провайдер соответствующим инструментам. (На данный момент они используют экспорт CSV) – harryg

Смежные вопросы