У меня есть следующий код для получения product_id из хранилища veeva:
let volt_APILogin = () => {
let args = {
data: { username: VOLT_CREDENTIALS.get('cred').Username , password: VOLT_CREDENTIALS.get('cred').Password },
headers : { "Content-Type": "application/x-www-form-urlencoded", "Cache-Control": "no-cache" }
};
return new Promise(function(resolve, reject){
client.post("https://vv-agency-indegene.veevavault.com/api/v18.3/auth", args, function (data, response) {
SESSIONID = data.sessionId;
console.log(SESSIONID);
resolve("Connected Successfully");
});
});
}
let volt_getProduct = () => {
return new Promise(function(resolve,reject){
let args = {
headers: {
"Authorization" : SESSIONID
}
};
console.log(SESSIONID);
client.post(`https://vv-agency-indegene.veevavault.com/api/v18.3/query?q=SELECT id FROM product__v WHERE name__v = '${VOLT_CREDENTIALS.get('cred').productName }'` , args , function( data , res) {
console.log(data);
console.log( 'PRODUCT ID IS ' + data.data[0].id);
productID = data.data[0].id;
resolve("Product ID");
});
})
}
Я называю эти функции так:
volt_APILogin().then( () => {
volt_getProduct().then( () => {
});
});
Но я получаю следующую ошибку:
{ responseStatus: 'FAILURE',
errors:
[ { type: 'INVALID_SESSION_ID',
message: 'Invalid or expired session ID.' } ] }
Однако я не верю, что мой идентификатор сессии недействителен, как указано в документе ЗДЕСЬ .Я что-то надеваю?Если у меня нет необходимых привилегий, я должен получить ошибку INSUFFICIENT_ACCESS
, не так ли?