0

我一直在尝试将 Watson PersonalityInsightsV3 API 实现到我的 React JS 应用程序中。为了规避使用凭据时出现的 CORS 错误,我有一个烧瓶/python 服务器请求令牌。然后,我在我的 React JS 文件中使用 fetch 来接收令牌并尝试将其传递给我的 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) };
4

1 回答 1

0

根据文档,这可能是不可能的: https ://www.npmjs.com/package/watson-developer-cloud#client-side-usage

某些端点/服务不支持 cors,因此您可能需要在 Python 应用程序中进行更多代理。

我不知道 Py 中流行的软件包是什么,但是 checkout express-http-proxy

于 2018-02-08T22:18:23.940 回答