首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IBM沃森音调分析器发布请求问题

IBM沃森音调分析器发布请求问题
EN

Stack Overflow用户
提问于 2017-11-21 21:29:45
回答 1查看 480关注 0票数 1

我是学生,学习编码和帮助社区是非常感谢的。我用域名https://depionicapp.herokuapp.com/在heroku托管我的代码。当我使用邮递员做帖子请求时,我得到了错误的500,但是在云9中,我能够得到结果。

代码语言:javascript
复制
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)));
  });
});

邮差:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2017-11-22 13:19:57

所以,想帮你。我编辑您的代码删除vision模块,只需在Node.js中创建一台服务器来测试您的代码,工作非常完美。

File toneExample.js:

代码语言:javascript
复制
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;

File server.js:

代码语言:javascript
复制
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
  • 安装模块:expressbody-parserwatson-developer-cloud

Obs.: --如果你使用version_date: 2017-09-21 --词组的返回结果:愤怒、恐惧、joy、悲伤、分析、自信和试探性。并且返回的结果仅针对分数达到0.5最低阈值的音调。

官方API参考中可以看到更多的信息。我建议您尝试检查您需要发送的标头,您可以在您的身体post中使用的类型,一些类似的东西。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47423067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档