Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js IBM Watson音调分析器post请求问题_Node.js_Ibm Watson_Tone Analyzer - Fatal编程技术网

Node.js IBM Watson音调分析器post请求问题

Node.js IBM Watson音调分析器post请求问题,node.js,ibm-watson,tone-analyzer,Node.js,Ibm Watson,Tone Analyzer,我是一名学生,学习编码,感谢社区的帮助。我已经用域名在heroku托管了我的代码。当我与邮递员进行post请求时,我得到了错误500,但使用cloud 9我能够得到结果 var http = require('http'); var bodyParser = require("body-parser") var vision = require('@google-cloud/vision'); // Authorizing on a per-API-basis. You don't need t

我是一名学生,学习编码,感谢社区的帮助。我已经用域名在heroku托管了我的代码。当我与邮递员进行post请求时,我得到了错误
500
,但使用cloud 9我能够得到结果

var http = require('http');
var bodyParser = require("body-parser")
var vision = require('@google-cloud/vision');
// Authorizing on a per-API-basis. You don't need to do this if you auth on a 
// global basis (see Authorization section above). 
var express = require('express');
var router = express();

var visionClient = vision({
  projectId: 'ionic-face-api',
  keyFilename: './ionic.json'
});

router.use(bodyParser.urlencoded({extended: false }));
router.use(bodyParser.json());

router.use(function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  next();
});

var server = http.createServer(router);
router.post('/info', function(req, res) {
  var text = req.body.text;
  console.log(text)
  var ToneAnalyzerV3 = require('watson-developer-cloud/tone-analyzer/v3');

  var tone_analyzer = new ToneAnalyzerV3({
    username: 'username',
    password: 'password',
    version_date: '2016-05-19'
  });

  tone_analyzer.tone({
      text: text
  }, function(err, tone) {
    if (err)
     console.log(err);
    else
     res.send((JSON.stringify(tone, null, 2)));
  });
});
邮递员:

Postman request: https: //depionicapp.herokuapp.com/info
Content - Type: application / json 
Body I am sending from postman
{"text": "I am good.....blah blah..." }// Error 500

所以,我想帮助你。我编辑了您的代码,删除了vision模块,并在Node.js中创建了一个服务器来测试您的代码,效果非常好

文件toneeexample.js:

var http = require('http');
var bodyParser = require("body-parser");
var express = require('express');
var router = express();

router.use(bodyParser.urlencoded({extended: false}));
router.use(bodyParser.json());

router.post('/info', function(req, res) {
    var text = req.body.text;
    console.log(text)
    var ToneAnalyzerV3 = require('watson-developer-cloud/tone-analyzer/v3');

    var tone_analyzer = new ToneAnalyzerV3({
     username: 'yourUsername',
     password: 'yourPassword',
     version_date: '2016-05-19'
     });

    tone_analyzer.tone({
        text: text
    }, function(err, tone) {
    if (err) console.log(err);
    else res.send((JSON.stringify(tone, null, 2)));
    })
});

module.exports = router;
文件server.js:

var server = require('./toneExample.js');
var port = process.env.PORT || process.env.VCAP_APP_PORT || 3000;

server.listen(port, function() {
  console.log('Server running on port: %d', port);
});
在执行了
node server.js
之后,我在POSTMAN中为
/info
端点做了一个示例,结果成功:

信息

  • 节点版本:6.11.2
  • 已安装模块:
    express
    body parser
    watson开发者云
Obs.:如果您使用
版本_日期:2017-09-21
后音调ID的返回结果:愤怒、恐惧、喜悦、悲伤、分析、自信和试探。并且只返回分数满足最小阈值
0.5
的音调的结果


有关详细信息,请参见中的。我建议您尝试检查您需要发送的邮件头、您可以在正文中使用的邮件类型
post
,以及类似的内容。

谢谢您的回复,先生。我会检查的。谢谢你的帮助。我非常感谢你的帮助。它现在正在工作。太好了!请标记StackOverflow中的问题,并帮助其他人解决相同的问题。