Получение пустого SessionKey из API в LimeSurvey
var request = require('request');
//******GLOBAL***************
var SESSIONKEY = "";
var options = {
url: "https://xxxxxxxxxxxxxxxx/index.php/admin/remotecontrol",
method: "POST",
headers: {
'user-agent': 'Apache-HttpClient/4.2.2 (java 1.5)',
'host': 'xxxxxxxxxxxxxxxx',
'path': '/index.php/admin/remotecontrol',
'connection': 'keep-alive',
'content-type': 'application/json'
}
};
//*******AUTHENTIFICATION*******
options.body = JSON.stringify({
method: 'get_session_key',
params: ['myusername', 'mypassword'],
id: 1
});
request(options, function(error, response, body) {
if (!error && response.statusCode == 200) {
body = JSON.parse(body);
//*********KEEP THE KEY*********
if (SESSIONKEY === "") {
console.log("NEW KEY -->" + body.result);
SESSIONKEY = body.result;
nextFonction();
}
} else console.log("ERROR -->" + body);
});
Версия Limesurvey - 3.0.1
После запуска этого кода я получаю пустое тело и показываю ошибку
SyntaxError: Неожиданный конец ввода JSON в JSON.parse ()
Эта ошибка возникает из-за пустого ответа от limesurvey. Как я могу решить эту ошибку? Или есть какой-нибудь другой способ получить SessionKey из limesurvey? Пожалуйста помоги.