IBM Watson语音分析器发布请求问题
我是学生,学习编码和社区帮助表示赞赏。 我已经托pipe我的代码与域名https://depionicapp.herokuapp.com/ heroku。 当我正在做邮递员的请求时,我得到错误500
但与云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
所以,试图帮助你。 我编辑你的代码删除视觉模块,只需在Node.js中创build一个服务器来testing你的代码,完美的工作。
文件 toneExample.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-developer-cloud
Obs .:如果你使用version_date: 2017-09-21
这个postID的返回结果:愤怒,恐惧,喜悦,悲伤,分析,自信和尝试。 而且返回结果仅适用于分数达到0.5
的最小阈值的音调。
在官方API参考中查看更多信息。 我build议您尝试检查您需要发送的标题,您可以在自己的post
使用的types,以及类似的东西。