401 Несанкционированный для метода публикации в API WooCommerce - PullRequest
0 голосов
/ 05 сентября 2018

Прежде всего, я покажу вам свой полный код, чтобы понять проблему

Это wicommerce api auth с ключом cosumer и секретом файла checkout.ts

      this.WooCommerce = WC({
        url:"http://localhost/wordpress/",
        consumerKey:"ck_429c9a4521b73420e6c6d57179ab2b19350fbdb8",
        consumerSecret:"cs_b9aaa8b11d15a6132abca0a8b5ca324fcfa76f87",
        

      });

и это метод post для заказа файла checkout.ts функции placeOrder ().

      this.WooCommerce.postAsync("orders", orderData).then ((data) => {
        //console.log(JSON.parse(data.body).order);

        let response = (JSON.parse(data.body).order);

        this.alertCtrl.create({
          title: "Order Placed Successfully",
          message: "Your order has been placed successfully. Your order number is " + response.order_number,
          buttons: [{
            text: "OK",
            handler: () => {
              this.navCtrl.push(HomePage);
            }
          }]
        }).present();

      })

Это HTML-файл checkout.html

      <ion-item>
        <ion-label>First Name</ion-label>
        <ion-input type="text" [(ngModel)]="newOrder.billing_address.first_name"></ion-input>
      </ion-item>
      
      ....
      
      <button ion-button block color="danger" (click)="placeOrder()">Place Order</button>

и когда я нажимаю на кнопку «разместить заказ», она показывает мне эту ошибку

enter image description here

Я ищу эту проблему на каком-то форуме, и они предлагают мне добавить некоторый код в аутентификацию API woocommerce после ключа потребителя и секрета, например

verifySsl: false,
queryStringAuth: true

Также добавить код в файл .httaccess, например

RewriteCond %{HTTP:Authorization} ^(.)
RewriteRule ^(.) - [E=HTTP_AUTHORIZATION:%1]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

и у меня все еще та же проблема в консоли, и это результат netword enter image description here

1 Ответ

0 голосов
/ 05 сентября 2018
var WooCommerce = new WooCommerceAPI({
  url: 'http://example.com', // Your store URL
  consumerKey: 'consumer_key', // Your consumer key
  consumerSecret: 'consumer_secret', // Your consumer secret
  wpAPI: true, // Enable the WP REST API integration
  version: 'wc/v2' // WooCommerce WP REST API version
});

в соответствии с их документацией вы используете стратегию авторизации OAUTH 1.0, поэтому приведенная выше базовая сигнатура и свойства объекта WooCommerce.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...