获取对 watson tone analyzer 的请求 api returns 否 'Access-Control-Allow-Origin' 401 错误

Get request to watson tone analyzer api returns No 'Access-Control-Allow-Origin' 401 error

当我发出获取请求以将我的内容发送到 watson 令牌分析器 api 以获取音调分析 json 时,它 returns 401 否 'Access-Control-Allow-Origin'错误。我正在使用 javascript.

从客户端执行此操作

是否可以使用来自客户端的获取请求来查询音调分析器api?

这是我正在做的事情:

$.ajax({
    url:'https://gateway.watsonplatform.net/tone-analyzer/api/v3/tone?version=2016-05-19&text='+encodeURI(input),
    data:{
        'username':'password'
    },
    contentType:'application/json',
    method:'GET',
    success:function(tone){
        console.log(tone);
    }
});

请求令牌客户端使用api客户端:

$.ajax({
    url:'https://gateway.watsonplatform.net/authorization/api/v1/token',
    data:{
        'url':'https://gateway.watsonplatform.net/tone-analyzer/api/v3/tone',
        'username':'password'
    },
    dataType:'jsonp',
    contentType:'application/javascript',
    method:'GET'
});

看起来 Tone Analyzer 支持 CORS,允许下面的选项 #2

您可以:

  1. 使用API服务器端
  2. 使用 authorization service 在您的服务器端获取身份验证令牌(1 小时后过期)。 Return 向您的客户端发送该令牌,以便您的 javascript 调用在从您的客户端请求音调分析器 API 时可以使用该令牌。

上面#2 的例子是here