【问题标题】:Predix Analytics service with Angular Http request带有 Angular Http 请求的 Predix Analytics 服务
【发布时间】:2017-01-19 11:57:36
【问题描述】:

我们正在尝试在 predix 中使用分析服务。 我们已经成功生成了Access Token,可以通过时序服务获取时序数据了。

但是当我们尝试将分析服务与我的 Angular 代码 http 请求一起使用时。 它抛出 401 授权错误 > 需要访问完整的凭据。 但是,如果我使用 Python 或 Postman 请求此服务工作正常,我们将获得所需的输出。

如果有人知道如何从 angular 访问 predix 分析服务,请。

下面是代码:

  $http({
method: 'POST',
   url: 'https://predix-analytics-catalog-release.run.aws-usw02-pr.ice.predix.io/api/v1/catalog/analytics/315f7994-873d-4490-bf13-b21edd25e6bd/deployment',
   headers: {
     'authorization': ctrl.token,
     'predix-zone-id': '7b836258-b05d-4abb-9b63-b6705a4c3946',
     'content-type': 'application/json'
   },
   data: {
     "time_series": [
       112,
       118,
       132,
       129,
       121,
       135,
       148,
       148,
       136,
       119,
       104,
       118
     ],
     "params": {
       "num_forecast": 6,
       "method": "SE",
       "period": 12
     }
   }
 }).then(function successCallback(response) {
   console.log("Excecuted")
 }, function errorCallback(response) {
   if (response.status = 401) { // If you have set 401
     console.log("ohohoh hell yaaa");
   }
 });

【问题讨论】:

    标签: angularjs http-headers predix


    【解决方案1】:

    以下是一些建议:

    1. 在上面的代码中,确保 ctrl.token 包含单词“Bearer”,例如“Bearer 23kjfdu8rj34kfe08fu”
    2. 确保令牌包含访问 Analytics 目录实例的权限。
    3. 尝试使用 Predix 工具包来帮助调试您的问题:https://predix-toolkit.run.aws-usw02-pr.ice.predix.io/ 您可以在那里解码令牌、配置 UAA 以及对 Predix 服务进行 API 调用。
    4. 考虑将 AJAX 请求从 Angular 返回到您的 Web 服务器,并使用该服务器将请求代理到后端服务。这避免了 CORS 问题。这是一个例子:https://github.com/PredixDev/predix-seed/tree/develop/server

    【讨论】:

      【解决方案2】:

      这里可能的错误是Bearer not pass,Bearer需要在Authorization headers中的access token之前应用

      授权承载17MHIFGLIE1d43bPxcnxEmRI5tyT

      所以上面的代码是

      '授权':'承载'+ctrl.token,

      【讨论】:

        【解决方案3】:

        请在授权标头中添加 Bearer 前缀,如果仍然存在错误,请尝试添加原始标头。

        标题:

        {
         'authorization': 'Bearer '+ctrl.token,
         'predix-zone-id': '7b836258-b05d-4abb-9b63-b6705a4c3946',
         'content-type': 'application/json',
         'origin':'localhost:<your_port>'
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-03-07
          • 2021-10-03
          • 1970-01-01
          • 1970-01-01
          • 2018-02-15
          • 2018-03-16
          相关资源
          最近更新 更多