0
私はWP API RESTとWC API RESTでangularjsクライアントを作成しています。オーダーへのPOSTデータに問題があります。私は不正な401エラーを取得します。誰かが私が間違っていることを教えてもらえますか?WC API RESTはデータoauth 1.0をPOSTできません。
angular.module('egonometriaApp')
.service('$order', ['$http', function ($http) {
var order={
payment_method: 'bacs'
};
function randomString(length, chars) {
var result = '';
for (var i = length; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))];
return result;
}
var consumer_key = "ck_ae3c4951e083094b8ae716c3b8b59eac4a35515b",
httpMethod = "POST",
url = "http://it-grafika.pl:8080/wp-json/wc/v2/orders",
parameters = {
oauth_consumer_key: consumer_key,
oauth_signature_method: "HMAC-SHA1",
oauth_timestamp: (Math.floor((new Date().getTime())/1000)).toString(),
oauth_nonce: randomString(32, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
},
consumerSecret = "cs_00af1fb1fa20bcf81d3c68dc8cfea4f3b9f261e9",
tokenSecret = "",
encodedSignature = oauthSignature.generate(httpMethod, url, parameters, consumerSecret, tokenSecret,
{encodeSignature: true});
console.log(encodedSignature);
parameters['oauth_signature'] = encodedSignature;
console.log(parameters);
this.postOrder = function() {
var config = {
method: httpMethod,
url: url,
headers: {
authorization: 'OAuth '+ 'oauth_consumer_key="'+parameters['oauth_consumer_key']+'",oauth_signature_method="'+parameters['oauth_signature_method']+
'",oauth_timestamp="'+parameters['oauth_timestamp']+'",oauth_nonce="'+parameters['oauth_nonce']+'",oauth_version="1.0"'+',oauth_signature="'+parameters['oauth_signature']+'"',
"Content-Type": 'Content-Type: application/json'
}
// data: order
};
$http(config)
.then(function (status) {
console.log(status);
});
};
}]) ;
私はPostmanを使用しているときに動作しています。なぜ認可が通過していないのか分かりません。
これあなたがクロスドメインリクエストを作っているので、私は私のブラウザ http://imgur.com/a/bEMC8
これは役に立たない – Tomek