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.

Другие вопросы по тегам