Tenho um código de busca de DataSet para ser utilizado em um Widget em uma página pública:
var dsName = "wdgCardapioDias";
var fields = null;
var constraints = new Array(DatasetFactory.createConstraint("dtCardapio", "2017-06-05","2017-06-09", ConstraintType.MUST));
var orders = new Array("dtCardapio");
var token = { key: Cardapio.dsTokem, secret: Cardapio.dsSecret };
var consumer = { key: 'cardapio', secret: 'cardapio' };
var oauth = OAuth({
consumer: consumer,
signature_method: 'HMAC-SHA1',
hash_function: function(base_string, key) { return CryptoJS.HmacSHA1(base_string, key).toString(CryptoJS.enc.Base64); },
nonce_length: 6
});
var request_data = {
url: WCMAPI.serverURL+'/api/public/ecm/dataset/datasets',
method: 'POST',
data: { name: dsName, fields: fields, constraints: constraints, order: orders }
};
var ret = null;
$.ajax({
url: request_data.url,
crossDomain: true,
async: false,
type: request_data.method,
data: JSON.stringify(oauth.authorize(request_data, token)),
contentType: "application/json"
}).done(function(data) {
ret = data.content;
});
Ele funciona como o vcXMLRPC, porém utilizando Oauth. Quando eu estou com um usuário logado funciona perfeitamente, porém quando estou em uma página pública ele dá o erro wcm_global_en_US.js?v=f1.6.0-EP3:3 POST /api/public/ecm/dataset/datasets 401 (Unauthorized).
O que posso fazer para utilizá-lo em uma página publica?