Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

O acesso é negado devido a credenciais inválidas.

var AssistantV1 = require('watson-developer-cloud/assistant/v1');

var Assistant = new AssistantV1 ({ username:'apikey', password:'xxx', version: '2018-09-20'

});

var params = { workspace_id: 'xxx' };

Assistant.message(params, resposta);

function resposta(error, response) { if (error) { console.error(error); } else { console.log(response.output.text[0]); } };

Olá a todos, estou com dificuldade para executar a aplicação, apos seguir a aula com o código atualizado como acima , apresenta o seguinte erro:

C:\Users\Diego\Documents\Curso de Chatbot Alura\aplicacao-Assistant>node aplicacao-Assistant.js { Error: Unauthorized: Access is denied due to invalid credentials. at Request.callback (C:\Users\Diego\Documents\Curso de Chatbot Alura\aplicacao-Assistant\nodemodules\watson-developer-cloud\lib\requestwrapper.js:102:21) at Request.self.callback (C:\Users\Diego\Documents\Curso de Chatbot Alura\aplicacao-Assistant\node_modules\request\request.js:185:22) at Request.emit (events.js:189:13) at Request. (C:\Users\Diego\Documents\Curso de Chatbot Alura\aplicacao-Assistant\node_modules\request\request.js:1157:10) at Request.emit (events.js:189:13) at Gunzip. (C:\Users\Diego\Documents\Curso de Chatbot Alura\aplicacao-Assistant\node_modules\request\request.js:1079:12) at Object.onceWrapper (events.js:277:13) at Gunzip.emit (events.js:194:15) at endReadableNT (streamreadable.js:1103:12) at process.tickCallback (internal/process/nexttick.js:63:19) code: 401, error: 'Unauthorized', body: 'Unauthorized', 'x-global-transaction-id': '7ecac92c5c6c3cfc7cb7b199' }.

Sei que o erro se trata de: O acesso é negado devido a credenciais inválidas. Queria confirmar que campo devo usar como username. Veja que username que aparece na tela é o que colei (apikey). Devo usar o que está em Service Credentials Name? O valor dele começa com 'auto-generated-apikey-'. Devo usar o valor a partir desse pedaço? Incluir esse pedaço? De qualquer forma já testei todas essas opções. Me ajuda :(

5 respostas

Olá Diego, boa noite!

No vídeo, (link aqui), a instrutora mostra um exemplo e faz todo o passo a passo. O username é uma string maior do que apenas 'apiKey' e você obtém pelo dashboard do Blue mix. Na transcrição da aula também tem o passo a passo e você deve copiar o valor de username e password mesmo (veja a imagem aqui).

Se ainda tiver problemas, poste novamente aqui.

Oi Thais bom dia. a plataforma do Blue mix esta bem diferente, esta foto que você mandou esta desatualizada. agora tem esse padrão aqui:

Service Credentials
Service Credentials Name:auto-generated-apikey-fb1fc539-e1da-416d-95a1-17c9fa9b278d

Username:apikey

Password: Meu password

Já tentei usar somente fb1fc539-e1da-416d-95a1-17c9fa9b278d porem também não funciona, e sobre o código da aula eu não posso faze-lo exatamente igual pois o nome do serviço mudou de conversation para assistant. meu codigo segue assim:

var AssistantV1 = require('watson-developer-cloud/assistant/v1');

var Assistant = new AssistantV1 ({ 
username:'fb1fc539-e1da-416d-95a1-17c9fa9b278d',
 password:'meu password', 
version: '2018-09-20'

});

var params = { workspace_id: 'meu_ id' };

Assistant.message(params, resposta);

function resposta(error, response) { 
    if (error) { console.error(error);
 } else { console.log(response.output.text[0]); } };

tem mais alguma coisa que eu possa fazer?

solução!

Olá Diego, me desculpe, você tem razão. Eu não sabia sobre a mudança. Nesta página tem todo o passo a passo: https://console.bluemix.net/apidocs/assistant

Você ainda precisa acessar o Dashboard como dito na documentação para ter acesso ao username e password. Acredito ser neste link - você precisa estar logado para ter acesso.

Teste e veja se dá certo;

Thais obrigado, eu consegui resolver com sua dicas valeu msm.

Boa, Diego! Qualquer outra dúvida que surgir volte a postar aqui. Bons estudos!