Watson Speech to Text аутентификация - PullRequest
0 голосов
/ 17 июня 2020

Я пытаюсь получить Расшифровку с микрофона , работающую на моем сервере в качестве отправной точки.

Код простой, но у меня проблемы с токеном.

в IBMcloud. Я создал идентификатор IAM-сервиса с политиками доступа.
Viewer, Reader 14 Speech to Text service во всех группах ресурсов.

создал apikey из этого

создал файл токена

    curl -k -X POST  --output token \
  --header "Content-Type: application/x-www-form-urlencoded" \
  --header "Accept: application/json" \
  --data-urlencode "grant_type=urn:ibm:params:oauth:grant-type:apikey" \
  --data-urlencode "apikey={apikey}" \
  "https://iam.cloud.ibm.com/identity/token"

в ответе есть 'access_token', но javascript SDK 0.38.1 ищет 'accessToken'

когда я запускаю микрофон, я получаю ошибку сокета 'wss : //stream.watsonplatform.net/speech-to-text/api/v1/recognize "

Я проверил срок действия токена.

Я подтвердил, что это проблема авторизации:

 curl -X GET "https://stream.watsonplatform.net/speech-to-text/api/v1/models?access_token="{accessToken}"

отвечает "неавторизовано"

Я изучил и не уверен, что делать дальше. Я предполагаю, что я генерирую токен неправильно.

1 Ответ

1 голос
/ 17 июня 2020

Я бы оставил генерацию токенов коду. Все SDK содержат компонент IAMAuthenticator . Полная документация для Node.js находится здесь . Это очень простой пример, в котором вы передаете ключ API:

import { IamAuthenticator } from 'ibm-cloud-sdk-core';

const authenticator = new IamAuthenticator({
  apikey: '{apikey}',
});

После этого вы создаете экземпляр службы, например STT.

...