Watson Speech to Text - статус: 401, ошибка: неавторизован - PullRequest
0 голосов
/ 26 февраля 2019

Я пытаюсь интегрировать службу речи в текст в своем чате, но получаю сообщение об ошибке, указанное в заголовке.Я просто использовал сервис, как описано в документации.Они изменили метод авторизации с имени пользователя + пароль на ключ API, верно?Это ошибка, которую я получаю:

26 февраля 2019 г. 11:18:38 okhttp3.internal.platform.Platform log INFO: -> POST https://stream.watsonplatform.net/speech-to-text/api/v1/recognize http / 1.1 (-1-тело байта) 26 февраля 2019 11:18:40 okhttp3.internal.platform.Log журнала INFO: <- 401 не авторизован <a href="https://stream.watsonplatform.net/speech-to-text/api/v1/recognize" rel="nofollow noreferrer">https://stream.watsonplatform.net/speech-to-text/api/v1/recognize (2434 мс, тело 37 байтов) 26 февраля 2019 11:18:40:00 com.ibm.watson.developer_cloud.service.WatsonService processServiceCall SEVERE: POST https://stream.watsonplatform.net/speech-to-text/api/v1/recognize, status: 401, ошибка: неавторизованное исключение в потоке «AWT-EventQueue-0» com.ibm.watson.developer_cloud.service.exception.UnauthorizedException: Unauthorized: доступ запрещен из-за неверных учетных данных.Подсказка: вы установили конечную точку?по адресу com.ibm.watson.developer_cloud.service.WatsonService.processServiceCall (WatsonService.java:368) по адресу com.ibm.watson.developer_cloud.service.WatsonService $ WatsonServiceCall.execute (WatsonService.erTSerneer).java: 66) в GUI $ recordAudioButtonListener.actionPerformed (GUI.java:179)

Тем не менее мой код выглядит так:

    SpeechToText stt = new SpeechToText();

    stt.setApiKey("3PHwb6P36A0hgiovasdcqgesVyDZEO7awg2L1be");
    stt.setEndPoint("https://stream.watsonplatform.net/speech-to-text/api");

    try {
        RecognizeOptions recognizeOptions = new RecognizeOptions.Builder()
                  .audio(new File("C:/Users/jvermaet/Desktop/hallo.wav"))
                  .contentType(HttpMediaType.AUDIO_WAV)
                  .build();

        SpeechRecognitionResults srr = stt.recognize(recognizeOptions).execute();
        System.out.println(srr.toString());

    } catch (FileNotFoundException e) {
        e.printStackTrace();
        System.out.println("OO");
    }

1 Ответ

0 голосов
/ 26 февраля 2019

Мне просто нужно было использовать конструктор IAmOptions.Если вы не можете импортировать IAmOptions, это может быть связано с тем, что вы используете старую версию SDK, что было моей главной проблемой.

IamOptions options = new IamOptions.Builder()
.apiKey("{apikey}")
.build();
Assistant assistant = new Assistant("{version}", options);
assistant.setEndPoint("{url}");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...