Я пытаюсь аутентифицироваться как приложение AngularJS и Ionic с API Woocommerce. Вот мой код.
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);
});
Я всегда получаю ошибку .
PS: Я использую эту библиотеку javascript для создания подписи.
Я сделал это. Я был так близок к тому, что делал это в первый день, так или иначе пропустил это.
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);
});
Не забудьте реализовать библиотеку OAuth здесь.