Я пытаюсь использовать службу тонального анализатора из приложения nodejs. У меня проблема с неавторизованным доступом, но эти учетные данные работают нормально, когда я использую их в curl.
Локальный запуск, в моем файле app.js я включил данные тонального анализатора следующим образом:
var ToneAnalyzerV3 = require('watson-developer-cloud/tone-analyzer/v3');
var toneAnalyzer = new ToneAnalyzerV3({
version: '2017-09-21',
iam_apikey: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
});
Затем я добавил это, так что мое приложение прослушивает почтовые запросы в / тоне URL:
app.post('/tone', function(req, res, next) {
var params = {'tone_input': req.body}
toneAnalyzer.tone(params, function(err, data) {
if (err) {
return next(err);
}
return res.json(data);
});
});
Но когда я вызываю его, я получаю «Несанкционированный: доступ запрещен из-занедействительные учетные данные ".
Дело в том, что эти учетные данные прекрасно работают в curl:
curl -X POST -u "apikey:XXXXXXXXXXXXXXXXXXXXXXXXXXXXX" --header "Content-Type: application/json" --data-binary @tone.json "https://gateway-lon.watsonplatform.net/tone-analyzer/api/v3/tone?version=2017-09-21&sentences=false"
{"document_tone":{"tones":[{"score":0.6165,"tone_id":"sadness","tone_name":"Sadness"},{"score":0.829888,"tone_id":"analytical","tone_name":"Analytical"}]}}