Woocommerce API认证错误 [英] Woocommerce API Authentication Error

查看:572
本文介绍了Woocommerce API认证错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想作为一个AngularJS和离子应用与Woocommerce API进行身份验证。这里是我的code。

  VAR CK ='ck_6fffb5cbc00eqe00a7c3062cd85dae2ee64f919e';
        变种CS ='cs_c2fd467cqq8857a08941c15bc708e3c16dc1f026';
        VAR URL =HTTP://www.mysitecom/wc-api/v3';        VAR列举HTTPMethod ='GET',
        参数= {
            oauth_consumer_key:CK,
            组oauth_token:370773112-GmHxMAgYyLbNEtIKZeRNFsMKPR9EyMZeS9we​​JAEb',
            oauth_nonce:kYjzVBB8Y0ZFabxSWbWovY3uYSQ2pTgmZeNu2VS4cg',
            oauth_timestamp:新的Date()的getTime()。
            oauth_signature_method:HMAC-SHA1,
            oauth_version:'1.0'//
            //文件:'vacation.jpg',
            //大小:原始
        },
        consumerSecret = CS,
        tokenSecret ='pfkkdhi9sl3r4s00';        VAR签名= oauthSignature.generate(列举HTTPMethod,URL,参数,CS,tokenSecret,{EN codeSignature:真});
        的console.log(签字);        $http.get(url+'/products?oauth_consumer_key='+ck+'&oauth_nonce='+parameters.oauth_nonce+'&oauth_signature='+signature+'&oauth_signature_method=HMAC-SHA1&oauth_timestamp='+parameters.oauth_timestamp+'&oauth_token='+parameters.oauth_token+'oauth_version=1.0').then(function(data){
          的console.log(数据);
        },功能(错误){
          的console.log(错误);
        });

我总是得到错误

PS:我使用的 JavaScript库生成签名。

解决方案

我做到了。我是如此接近做的第一天,不知何故错过了。

  VAR CK ='ck_abcdefghijklmnopqrstuvwxyz';
    变种CS ='cs_zyxwvutsrqponmlkjihgfedcba';
    VAR URL ='http://samplesite.com/wc-api/v3/products';    VAR的OAuth =的OAuth({
        消费者:{
            市民:CK,
            秘诀:CS
        },
        signature_method:HMAC-SHA1
    });   VAR request_data = {
      方法:'得到',
    }    VAR PARAMS = oauth.authorize(request_data);
    的console.log(PARAMS);    $ http.get(网址+'/?oauth_signature ='+ params.oauth_signature + '&oauth_consumer_key='+ck+'&oauth_nonce='+params.oauth_nonce+'&oauth_signature_method=HMAC-SHA1&oauth_timestamp='+params.oauth_timestamp+'&oauth_token='+params.oauth_token+'&oauth_version=1.0')
    。然后(功能(数据){
      的console.log(数据);
      $ scope.products = data.data.products;
    },功能(错误){
      的console.log(错误);
    });

不要忘了贯彻落实的OAuth库 rel=\"nofollow\">。

I am trying to authenticate as an AngularJS and Ionic App with Woocommerce API. Here is my code.

var ck = 'ck_6fffb5cbc00eqe00a7c3062cd85dae2ee64f919e';
        var cs = 'cs_c2fd467cqq8857a08941c15bc708e3c16dc1f026';
        var url = 'http://www.mysitecom/wc-api/v3';

        var httpMethod = 'GET',
        parameters = {
            oauth_consumer_key : ck,
            oauth_token : '370773112-GmHxMAgYyLbNEtIKZeRNFsMKPR9EyMZeS9weJAEb',
            oauth_nonce : 'kYjzVBB8Y0ZFabxSWbWovY3uYSQ2pTgmZeNu2VS4cg',
            oauth_timestamp : new Date().getTime(),
            oauth_signature_method : 'HMAC-SHA1',
            oauth_version : '1.0'//,
            //file : 'vacation.jpg',
            //size : 'original'
        },
        consumerSecret = cs,
        tokenSecret = 'pfkkdhi9sl3r4s00';

        var signature = oauthSignature.generate( httpMethod, url, parameters, cs, tokenSecret, { encodeSignature: true } );
        console.log(signature);

        $http.get(url+'/products?oauth_consumer_key='+ck+'&oauth_nonce='+parameters.oauth_nonce+'&oauth_signature='+signature+'&oauth_signature_method=HMAC-SHA1&oauth_timestamp='+parameters.oauth_timestamp+'&oauth_token='+parameters.oauth_token+'oauth_version=1.0').then(function(data){
          console.log(data);
        }, function(error){
          console.log(error);
        });

I am always getting the error .

PS: I am using this javascript library to generate the signature.

解决方案

I did it. I was so close to doing it on the first day, somehow missed it.

var ck = 'ck_abcdefghijklmnopqrstuvwxyz';
    var cs = 'cs_zyxwvutsrqponmlkjihgfedcba';
    var url = 'http://samplesite.com/wc-api/v3/products';

    var oauth = OAuth({
        consumer: {
            public: ck,
            secret: cs
        },
        signature_method: 'HMAC-SHA1'
    });

   var request_data = {
      method: 'get',
    }

    var params = oauth.authorize(request_data);
    console.log(params);

    $http.get(url+'/?oauth_signature='+ params.oauth_signature+ '&oauth_consumer_key='+ck+'&oauth_nonce='+params.oauth_nonce+'&oauth_signature_method=HMAC-SHA1&oauth_timestamp='+params.oauth_timestamp+'&oauth_token='+params.oauth_token+'&oauth_version=1.0')
    .then(function(data){
      console.log(data);
      $scope.products = data.data.products;
    }, function(error){
      console.log(error);
    });

Don't forget to implement the OAuth library here.

这篇关于Woocommerce API认证错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆