Microsoft Bot Framework请求中的MissingProperty错误
我正在使用Microsoft Bot Framework的应用程序。 我的应用程序是用Node编写的。 在这个时候,我正在尝试使用下面的代码发布一个活动:
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); });
当这个代码运行时,我收到一个错误。 这是一个错误的状态代码400有以下几点:
{ error: { code: 'MissingProperty', message: 'Invalid or missing activities in HTTP body' } }
我不明白是什么财产丢失。 一切看起来正确。
您错过了请求标头中的Content-Type
和Content-Length
。
请考虑下面的代码片段:
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); });
- 如何使用AMQP在“PeekLock”模式下从Azure服务总线队列获取消息?
- var azure = require('azure-storage'); 不工作
- Visual Studio发布button被禁用?
- Azure Webjob System.IO.PathTooLongException
- 服务工作者在React应用程序中刷新后导致空白页面
- Microsoft Azure持续集成 – 使用Grunt“编译”步骤的NodeJs解决scheme
- 如何将React.js / React Native Apps连接到Azure App Service的单个后端实例?
- 使用nodsjs代码将AWS EC2迁移到Azure VM
- 我可以在Microsoft Azure的Node.JS中使用本地“fs”文件系统吗?