javascript - WooCommerce API 中的 401 发布方法未经授权

标签 javascript wordpress angular typescript woocommerce

首先,我将向您展示我的完整代码以了解问题

这是 woocommerce api 身份验证,带有文件 checkout.ts 的消费者 key 和 secret

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

      });

这是函数 placeOrder() 的 checkout.ts 文件订单的 post 方法。

      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

我在一些论坛上搜索了这个问题,他们建议我在消费者 key 和 secret 之后向 woocommerce api auth 添加一些代码,比如

verifySsl: false,
queryStringAuth: true

还要将一些代码添加到 .httaccess 文件中,例如

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

我在控制台中仍然遇到同样的问题,这是网络结果 enter image description here

最佳答案

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
});

所以根据他们的 documentation您正在使用 OAUTH 1.0 授权策略,因此以上是基本的 WooCommerce 对象签名和属性。

关于javascript - WooCommerce API 中的 401 发布方法未经授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52190373/

相关文章:

javascript - 页面导航脚本在 Blogger 中无法完全运行

javascript - 把它变成一个 Javascript 闭包

php - 仅在下载网页后才加载 <div> 与外部内容?

javascript - WordPress 网站上的插件未捕获 JQuery TypeError(帖子中的网站)

angular - PreloadJS 不适用于 Angular(createjs-module)

dart - Angular2 Dart构建使 “The selector ”演示应用程序“与任何元素都不匹配”错误

javascript - D3如何用两个y数据之间的x数据绘制图表

WordPress,使用 cookie 进行类别重定向

javascript - Ionic 2 与 ngrx、AlertController、LoadController 问题

javascript - 延迟 Angular-ui 模态关闭