Error de MissingProperty en Microsoft Bot Framework Request

Estoy trabajando en una aplicación que usa Microsoft Bot Framework. Mi aplicación está escrita en Nodo. En este momento, estoy tratando de POSTAR una actividad usando el siguiente código:

var https = require('https'); var token = '[receivedToken]'; var conversationId = '[conversationId]'; var options = { host: 'directline.botframework.com', port: 443, headers: { 'Authorization': 'Bearer ' + token' }, path: '/v3/directline/conversations/' + conversationId + '/activities', method: 'POST' }; var request = https.request(options, (res) => { console.log(res.statusCode); var body = []; res.on('data', (d) => { body.push(d); }); res.on('end', () => { var result = JSON.parse(Buffer.concat(body).toString()); console.log(result); }); }); var info = { type: 'message', text: 'test', from: { id: 'user_' + conversationId } }; request.write(querystring.stringify(info)); request.end(); request.on('error', (err) => { console.log(err); }); 

Cuando se ejecuta este código, recibo un error. Es un error del código de estado 400 que tiene lo siguiente:

 { error: { code: 'MissingProperty', message: 'Invalid or missing activities in HTTP body' } } 

Aunque no entiendo qué propiedad falta. Todo se ve bien.

Ha omitido Content-Type y Content-Length en los encabezados de sus solicitudes.

Por favor considere el siguiente fragmento de código:

 var https = require('https'); var token = '[receivedToken]'; var conversationId = '[conversationId]'; var info = JSON.stringify({ type: 'message', text: 'test', from: { id: 'user_' + conversationId } }) var options = { host: 'directline.botframework.com', port: 443, headers: { 'Authorization': 'Bearer ' + token, 'Content-Type': 'application/json', 'Content-Length': Buffer.byteLength(info) }, path: '/v3/directline/conversations/' + conversationId + '/activities', method: 'POST' }; var request = https.request(options, (res) => { console.log(res.statusCode); var body = []; res.on('data', (d) => { body.push(d); }); res.on('end', () => { var result = JSON.parse(Buffer.concat(body).toString()); console.log(result); }); }); request.write(info); request.end(); request.on('error', (err) => { console.log(err); });