"Доступ запрещен из-за неверных учетных данных" Ошибка REST API. Как решить?
Я следовал за документацией здесь: и здесь: Попытка интеграции с сервисом Personality Insights через Android Java. Тем не менее, после запуска приложения и использования правильного имени пользователя и пароля, как указано в руководстве... (руководство неясно (2-й пункт в разделе "Перед началом работы"), какой набор учетных данных использовать - в нем говорится, что получить "учетные данные службы" и учетные данные из новой созданной службы - я пробовал с обоими, и оба терпят неудачу с той же самой ошибкой ниже.)
Ошибка:
12-11 01: 49: 56.201 29584-29632 /? I / CredentialUtils: поиск строки JNDI недоступен. 12-11 01:49:56,269 29584-29632/? D/NetworkSecurityConfig: Конфигурация безопасности сети не указана, используется платформа по умолчанию 12-11 01:49:56.723 29584-29632/? D/OkHttp: -> POST https://gateway.watsonplatform.net/personality-insights/api/v3/profile?version=2017-10-13 http / 1.1 (1297-байтовое тело) 12-11 01:49:56.803 29584-29632 /? D / OkHttp: <- 401 не авторизован https://gateway.watsonplatform.net/personality-insights/api/v3/profile?version=2017-10-13 (78 мс, тело неизвестной длины) 12-11 01: 49: 56,863 29584-29632 /? E / WatsonService: POST https://gateway.watsonplatform.net/personality-insights/api/v3/profile?version=2017-10-13, статус: 401, ошибка: не авторизован 12-11 01:49:56.865 29584-29632/? E/ERROR: Unauthorized: доступ запрещен из-за неверных учетных данных
com.ibm.watson.developer_cloud.service.exception.UnauthorizedException: неавторизованный: доступ запрещен из-за неверных учетных данных на com.ibm.watson.developer_cloud.service.WatsonService.processServiceCall(WatsonService.java:492) на com.ibon.w.developer_cloud.service.WatsonService$2.execute(WatsonService.java:254) в com.upen.personalityapp.MainActivity$RetrieveFeedTask.doInBackground(MainActivity.java:105) в com.upen.personalityapp.MainActivity $ RetrieveFeedTask.doInBackground (MainActivity. Java:87) на android.os.AsyncTask$2.call(AsyncTask.java:306) на java.util.concurrent.FutureTask.run(FutureTask.java:237) на android.os.AsyncTask$SerialExecutor$1.run(AsyncTas).java:244) в java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) в java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) в java.rung. Thread.java:761) 12-11 01:49:56,866 29584-29584/?
Это код, который я использую; Я пытаюсь передать текстовый ввод в сервис.
service = new PersonalityInsights("2017-10-13");
service.setUsernameAndPassword("{myUsername}", "{myPassword}");
Profile profile = service.getProfile(text).execute();
System.out.println(profile);
return profile.toString();
Я использую com.ibm.watson.developer_cloud:personality-insights:3.8.0
зависимость.
Я попытался подключиться к URL-адресу из-за ошибки ( https://gateway.watsonplatform.net/personality-insights/api/v3/profile?version=2017-10-13) через браузер. Он запрашивает комбо имя пользователя / пароль. Я ввел свои данные из службы IBM Cloud Lite, но при этом выдается ошибка HTTP 405. Это должно работать в браузере?
1 ответ
Для кого-то в будущем;
Вместо service.setUsernameAndPassword(username, password);
, Я старался service.setUsernameAndPassword("username", "password");
и это сработало.