- Posts: 6
- Thank you received: 1
Ask the community, share ideas, and connect with other LimeSurvey users!
/* -------------------------------------------------------------------------------- */ // const request = require('request').defaults({ encoding: null }); const request = require('request'); const BufferList = require('bl'); const fs = require('fs'); let SESSIONKEY = ''; let options = { 'url': 'http://localhost/index.php/admin/remotecontrol', 'method': 'POST', 'headers': { 'user-agent': 'ZTT Agent 1.0', 'host': 'localhost', 'path': '/index.php/admin/remotecontrol', 'connection': 'keep-alive', 'content-type': 'application/json', } }; /* -------------------------------------------------------------------------------- */ options.body = JSON.stringify({ method: 'get_session_key', params: ['USERNAME', 'SECRET_BASTARD'], id: 2, }); /* -------------------------------------------------------------------------------- */ const listUsers = (error, response, body) => { console.log('\n'); // body = JSON.parse(body); console.log('(listUsers) - error ==>', error); console.log('(listUsers) - body ==>', body); if (!error && response.statusCode === 200) { console.log('(listUsers) - 200 ==>', 200); } else { console.log('(listUsers) - ERROR ==>', body); } }; /* -------------------------------------------------------------------------------- */ exportResponsesByToken = (error, response, body) => { console.log('\n'); console.log('(exportResponsesByToken) - error ==>', error); // console.log('(exportResponsesByToken) - response ==>', response); console.log('(exportResponsesByToken) - body ==>', body); console.log('(exportResponsesByToken) - new Buffer(body).toString()', new Buffer(body).toString()); if (!error && response.statusCode === 200) { console.log('(exportResponsesByToken) - 200 ==>', body.result); // const buffer = Buffer.from(body, 'base64'); // fs.writeFileSync('response.json', buffer); } else { console.log('(exportResponsesByToken) - ERROR ==>', body); } }; const getSessionKeyCallback = (error, response, body) => { body = JSON.parse(body); if (!error && response.statusCode === 200) { if (SESSIONKEY === '') { SESSIONKEY = body.result; console.log('===> getSessionKeyCallback - 200 - SESSIONKEY', SESSIONKEY); // http://localhost/index.php/admin/tokens/sa/browse/surveyid/185897 options.body = JSON.stringify({ method: 'export_responses_by_token', params: [SESSIONKEY, 185897, 'json', 'UCsPViza6l6TvgP', 'en', 'all'], }); console.log('===> options.body', options.body); request(options, exportResponsesByToken); // options.method = 'GET'; options.body = JSON.stringify({ method: 'list_users', params: [SESSIONKEY], }); console.log('===> options.body', options.body); request(options, listUsers); } } else { console.log('getSessionKeyCallback - ERROR ==>', body); } }; request(options, getSessionKeyCallback); /* -------------------------------------------------------------------------------- */