2017-01-19 10 views
0

Мы пытаемся использовать службу аналитики в predix. Мы успешно сгенерировали токен доступа и можем получать данные временных рядов через службу временных рядов.Служба Predix Analytics с запросом на угловой Http

Но когда мы пытаемся использовать службу аналитики с моим HTTP-запросом на угловой код. Его выброс ошибки авторизации 401> Необходимо получить полный критический результат. Но если я прошу об этом, используя сервис Python или Postman, он работает нормально, и мы получаем требуемый результат.

Пожалуйста, если у кого-нибудь есть идея, как ударить службу аналитики 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"); 
    } 
}); 

ответ

1

Вот несколько предложений:

  1. В коде выше, убедитесь, что ctrl.token включает в себя слово "однонаправленного", как «Bearer 23kjfdu8rj34kfe08fu "
  2. Убедитесь, что маркер включает в себя полномочия для доступа к экземпляру каталога Google Analytics.
  3. Попробуйте Predix Toolkit, чтобы помочь вам отладить вашу проблему: https://predix-toolkit.run.aws-usw02-pr.ice.predix.io/ Там вы можете декодировать токен, настроить UAA и совершать вызовы API для Predix-сервисов.
  4. Рассмотрите возможность сделать запросы AJAX с углового назад на ваш веб-сервер и использовать этот сервер для прокси-запросов для служб back-end. Это позволяет избежать проблем с CORS. Вот пример: https://github.com/PredixDev/predix-seed/tree/develop/server
0

Здесь возможна ошибка Знаменосец не передается, Знаменосец должен применяться до маркеров доступа в заголовках авторизации

Авторизация Bearer 17MHIFGLIE1d43bPxcnxEmRI5tyT

поэтому выше код будет

'авторизация': 'предъявитель' + ctrl.token,