"Доступ запрещен из-за неверных учетных данных" Ошибка 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"); и это сработало.

Другие вопросы по тегам