本文介绍了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-GmHxMAgYyLbNEtIKZeRNFsMKPR9EyMZeS9weJAEb',
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认证错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!