React JS - Аутентификация токена IBM Watson Personality InsightsV3 - ошибка CORS
Я пытался внедрить API Watson PersonalityInsightsV3 в мое приложение React JS. Чтобы обойти ошибку CORS, которая возникает при использовании учетных данных, у меня есть сервер фляги /python, делающий запрос на токен. Затем я использую fetch внутри моих файлов React JS, чтобы получить токен и пытаюсь передать его в мой запрос профиля Watson. Я все еще получаю ошибку CORS, несмотря на это, и я не уверен, как завершить запрос с токеном.
try { axios.get('http://project1-m6.c9users.io:8080/token')
.then(result => { console.log('AAA ' + result.data)
var PersonalityInsightsV3 = require('watson-developer-cloud/personality-insights/v3');
var personality_insights = new PersonalityInsightsV3({
username: 'myname',
password: 'mypassword',
version_date: '2017-10-13',
headers: { 'X-Watson-Authorization-Token': result.data }
});
personality_insights.profile(
{
content: input,
content_type: 'text/plain',
consumption_preferences: true,
raw_scores: true
},
function(err, response) {
if (err) {
console.log('error:', err);
} else {
console.log(JSON.stringify(response, null, 2));
_this.props.history.push(
{pathname: '/personality', state: {result:JSON.stringify(response, null, 3)}})
}
}
);
}
);
} catch(e) { console.log(e) };
1 ответ
Это может быть невозможно в соответствии с документами: https://www.npmjs.com/package/watson-developer-cloud
Некоторые конечные точки / сервисы не поддерживают cors, поэтому вам может потребоваться сделать еще несколько прокси в вашем приложении Python.
Я не знаю, какие популярные пакеты для этого есть в Py, но посмотрите экспресс-http-proxy.