Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

272
Visualizações
¿Hay alguna manera de actualizar una entidad usando la biblioteca nodejs de dialogflow es?

He estado tratando de actualizar una entidad en Dialogflow es usando el SDK de nodejs, pero no he podido hacerlo, la referencia de la API no brinda suficiente información, por lo que necesito ayuda.

el nombre de la entidad que quiero agregar un nuevo valor es @Productos

Hasta ahora, este ha sido el código que he estado tratando de implementar.

 updateEntity:async (req, res) => { try{ const projectAgentPath = entityClient.projectAgentPath(clientId) /// (clientId); console.log('whats projectAgentPaht',projectAgentPath); const request = { parent: projectAgentPath, } const response = await entityClient.updateEntityType({ entityType: { name: '@Productos', displayName: "Productos", entities: [ {value: 'Nuevo producto'} ] }, }); // const response = entityClient.getEntityType(request) /*const [response] = await intentsClient.listIntents(request);*/ console.log('whats response ', response); return res.json(response).status(200) }catch(e){ console.log('e ', e) return res.json({message: 'ocurrio un problema al procesar la solictud'}).status(500); }

el código de arriba da el siguiente error

 projectAgentPaht projects/prod-proinvestec/agent e Error: 3 INVALID_ARGUMENT: Resource name '@Productos' does not match 'projects/*/locations/*/agent/entityTypes/*'. at Object.callErrorFromStatus (D:\Projects\iqbit\chatbot-server\node_modules\@grpc\grpc-js\build\src\call.js:31:26) at Object.onReceiveStatus (D:\Projects\iqbit\chatbot-server\node_modules\@grpc\grpc-js\build\src\client.js:189:52) at Object.onReceiveStatus (D:\Projects\iqbit\chatbot-server\node_modules\@grpc\grpc-js\build\src\client-interceptors.js:365:141) at Object.onReceiveStatus (D:\Projects\iqbit\chatbot-server\node_modules\@grpc\grpc-js\build\src\client-interceptors.js:328:181) at D:\Projects\iqbit\chatbot-server\node_modules\@grpc\grpc-js\build\src\call-stream.js:187:78 at processTicksAndRejections (node:internal/process/task_queues:78:11) { code: 3, details: "Resource name '@Productos' does not match 'projects/*/locations/*/agent/entityTypes/*'.", metadata: Metadata { internalRepr: Map(1) { 'grpc-server-stats-bin' => [Array] }, options: {} }, note: 'Exception occurred in retry method that was not classified as transient'

Quiero agregar nuevos valores a la entidad de productos. Espero que alguien pueda ayudarme. ¡Gracias!

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Acabo de usar expresiones regulares para detectar el nombre de los productos en lugar de agregar valores a la entidad de productos.

jajaja

about 4 years ago · Juan Pablo Isaza Relatório

0

Primero debe obtener el nombre del recurso de su tipo de entityType específico que desea actualizar. Puede usar el siguiente comando cURL para obtener el nombre del recurso .

 curl -X GET \ -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \ -H "Content-Type: application/json; charset=utf-8" \ "https://dialogflow.googleapis.com/v2/projects/<your-project-id>/agent/entityTypes"

A continuación se muestra una captura de pantalla de muestra donde encontrar el nombre del recurso en el resultado del comando cURL . ingrese la descripción de la imagen aquí

Ahora puede usar el código actualizado a continuación (derivado de su código publicado) en el que usamos el nombre del recurso en el parámetro "nombre" y agregamos el parámetro "tipo" ya que esto es necesario cuando se usa la función updateEntityType() .

 const dialogflow = require('@google-cloud/dialogflow'); const entityClient = new dialogflow.EntityTypesClient(); async function main() { const projectAgentPath = entityClient.projectAgentPath('your-project-id') console.log('whats projectAgentPath',projectAgentPath); const request = { parent: projectAgentPath, } const response = await entityClient.updateEntityType({ entityType: { name: "projects/<your-project-id>/agent/entityTypes/<entity-type-id>", displayName: "Productos", kind: 'KIND_MAP', entities: [ {value: 'Nuevo producto'} ] }, }); // const response = entityClient.getEntityType(request) /*const [response] = await intentsClient.listIntents(request);*/ console.log('whats response ', response); } process.on('unhandledRejection', err => { console.error(err.message); process.exitCode = 1; }); main(...process.argv.slice(2));
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda