Woocommerce REST API 401

подобный вопрос задавался и раньше, однако я не уверен, применимы ли предложенные решения в моем случае. Я создал consumerKey и consumerSecret в соответствии с документацией woocommerce api. Я подтвердил, что могу получить результаты, используя эти ключи, вызвав указанный ниже URL-адрес в веб-браузере:

https://mywebsite.com/wp-json/wc/v2/products?consumer_key=ck_blahblah&consumer_secret=cs_blahblah

Однако, когда я выполняю тот же вызов api в почтальоне, используя GET и правильно заменяя user-> consumerKey и pass -> consumerSecret, я всегда получаю 401: woocommerce_rest_cannot_view. Я пробовал и http, и https с той же ошибкой. Любые идеи?

Как убрать количество товаров в категории WooCommerce
Как убрать количество товаров в категории WooCommerce
По умолчанию WooCommerce показывает количество товаров рядом с категорией, как показано ниже.
1
0
4 436
2

Ответы 2

Используйте этот плагин https://github.com/WP-API/Basic-Auth и при вызове API используйте базовую аутентификацию с использованием имени пользователя и пароля.

Woo Commerce использует разные методы аутентификации для HTTP и HTTPS.

Итак, если «HTTPS» = 1 не передается Apache / Nginx вашему коду, он будет применять метод HTTP.

Дважды проверьте, передан ли этот HTTPS на ваш PHP:

  1. Откройте файл: ./wp-includes/load.php
  2. Искать "is_ssl"
  3. Вставьте "echo 'test_beg'; echo $ _SERVER ['HTTPS']; echo 'test_end';
  4. Сделайте запрос по API
  5. Если он вернет test_beg и test_end без "on" или "1" в посередине, HTTPS не передается Элемент списка

Это может произойти при использовании обратного прокси, поэтому вам может потребоваться вставить «SetEnvIf HTTPS on HTTPS = on» в ваш httpd.conf (при использовании Apache).

Я надеюсь, что это помогает :)

(не забудьте удалить это эхо на load.php)

Другие вопросы по теме