1

当我发出 get 请求将我的内容发送到 watson 令牌分析器 api 以获取音调分析 json 时,它返回 401 No 'Access-Control-Allow-Origin' 错误。我正在使用javascript从客户端执行此操作。

是否可以使用来自客户端的 get 请求来查询音调分析器 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'
});
4

1 回答 1

1

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

您可以:

  1. 使用 API 服务器端
  2. 使用授权服务在您的服务器端获取身份验证令牌(1 小时后过期)。将该令牌返回给您的客户端,以便您的 javascript 调用可以在它从您的客户端请求音调分析器 API 时使用该令牌。

上面#2的一个例子是here

于 2016-10-25T18:32:34.657 回答