¿Está cansado de copiar y pegar sus documentos en un software de traducción solo para comunicarse con sus clientes internacionales? O quizás está automatizando la colaboración en un trabajo de investigación con un socio que habla otro idioma. Sea cual sea el caso, ¡tenemos noticias emocionantes para usted! Gracias a la integración de Google Docs y OpenAI, y con la ayuda de Latenode.com, nos complace ofrecer un flujo optimizado que le permite proporcionar un enlace a su documento de Google y traducirlo al idioma deseado. ¡No pierda más tiempo en traducciones manuales: deje que la tecnología trabaje por usted!
Preparación
Primero, como siempre, asegúrese de tener todo lo necesario para crear un flujo: una cuenta en ChatGPT y una clave personal de esta, así como una cuenta de Google y el mismo token;
Hace no mucho tiempo, Latenode añadió integración con muchos servicios; sin embargo, los documentos específicos aún no se han implementado, aunque pronto deberían incorporarse también. Por ahora, obtendremos el token de la forma anterior siguiendo las instrucciones de nuestro artículo; solo debe elegir en la lista el alcance «Google Docs API v...» «https://www.googleapis.com/auth/documents»;
Puede consultar o crear una clave personal en ChatGPT aquí, en la configuración del perfil:
![]()
Creación de un flujo en Latenode
Lo primero que hacemos, como siempre, es crear un nodo: «+ Add Node» => «Http» => «Webhook»;
Copiemos su dirección de inmediato;
![]()
Guarde los cambios;
También prepararemos una solicitud preliminar para el cliente REST (Postman, Insomnia):
SOLICITUD para cliente REST:
curl --request POST
--url https://webhook.latenode.com/69/dev/8b8b0b68-df1f-45ab-b1a3-94baf3a0626d
--header 'Content-Type: application/x-www-form-urlencoded'
--data 'personalTokenChatGPT=Your ChatGPT token'
--data 'googleDocToken=Your google token'
--data 'docID=ID of desired google document'
--data 'language=german'
Cambie el enlace del Webhook por el suyo;
A continuación, sustituya nuestra clave de ChatGPT en personalTokenChatGPT;
Después, introduzca su token de Google Doc en googleDocToken;
Cambie docID por el ID del documento deseado; puede obtenerlo de la barra de direcciones;
![]()
Si es necesario, puede cambiar el idioma de traducción en el parámetro language;
![]()
A continuación, añada el nodo «HTTP request» para obtener el contenido del documento: «+ Add Node» => «Http» => «HTTP request»;
Guarde;
Conecte los nodos;
Inicie y llame al flujo para transferir datos entre los nodos;
Configuremos el campo «Url»: comience con la dirección «https://docs.googleapis.com/v1/documents/», seguida del parámetro body.docID del nodo «Webhook»;
Compruebe que el método predeterminado sea «GET»;
En Headers, añada dos:
- Content-Type con el valor: application/json
- Authorization: en el valor, introduzca Bearer y luego seleccione el parámetro del nodo «Webhook» con el nombre: body.googleDocToken
Guarde los cambios;
![]()
Conecte los nodos;
Inicie y llame al flujo para transferir datos entre los nodos;
A continuación, añada un nodo «JavaScript» para obtener el contenido del documento: «+ Add Node» => «Code» => «JavaScript»;
Inserte en él el contenido del bloque siguiente:
const responseResult = JSON.parse(data["{{2.body.body.content}}"]);
let docText = "";
function parseResponse(response) {
const tempArray = [];
if (typeof response !== String) {
tempArray.push(...response);
} else {
tempArray.push(JSON.parse(...response));
}
Array.isArray(response)
? response.forEach(
(arrayItem) => {
if (arrayItem.paragraph) {
arrayItem.paragraph.elements.forEach(paragraphItem => {
docText += `${paragraphItem.textRun.content}`;
});
}
}
)
: Object.fromEntries(
Object.entries(response)
.map(([objectItemKey, objectItemValue]) => [objectItemKey, parseResponse(objectItemValue, s)]));
}
parseResponse(responseResult);
const resultRawJSON = JSON.stringify({
"model":"text-davinci-003",
"prompt":`Escribe una breve reformulación de la idea principal del texto en ${data["{{1.body.language}}"]}: ${docText}`,
"temperature":0,
"max_tokens":1400
});
return {
resultRawJSON
}
Guarde;
Conecte los nodos;
Inicie y llame al flujo para transferir datos entre los nodos;
Abra de nuevo la configuración del nodo «JavaScript»;
Compruebe en todas las construcciones como «data["{{2.body.body.content}}"]» y «data["{{2.body.body.content}}"]» que los números de los nodos correspondan a aquellos de los que recibe datos; si no es así, sustitúyalos por los necesarios (recuerde que 1 es el número del nodo que aparece inmediatamente debajo del nombre del nodo, encima del tipo de nodo; luego, si es una consulta, seleccione el campo de objeto responsable del tipo de datos enviados o recibidos: body para formularios o query para parámetros de consulta);
![]()
![]()
Si hubo cambios, guárdelos;
Ahora añada otra «Http request»: «+ Add node» => «Http» => «HTTP request»;
Guarde;
Conecte los nodos;
Inicie y llame al flujo para transferir datos entre los nodos;
Configuremos el campo «Url»: introduzca al principio la dirección «https://api.openai.com/v1/completions»;
Cambie el método de solicitud a «POST»;
En el body, en «raw», sustituya la variable resultRawJSON del nodo «JavaScript» anterior;
En Headers, añada dos:
- Content-Type con el valor: application/json
- Authorization con el valor: Bearer; después, seleccione el parámetro del nodo «Webhook» con el nombre: body.personalTokenChatGPT
Guarde los cambios;
![]()
Por último, para devolver el texto recibido de ChatGPT, añada el nodo «Webhook response»: «+ Add Node» => «Http» => «Webhook response»;
Guarde;
Conecte los nodos;
Ejecute y llame al flujo para transferir datos entre los nodos;
Complete la respuesta con la variante final si hubo una respuesta correcta de la solicitud anterior body.choices.[0].text:
![]()
Ejecute el flujo completo y llámelo;
Después de ello, la respuesta debería devolver una breve paráfrasis del documento en inglés;
![]()
El flujo terminado tendrá este aspecto al final;
![]()
¡Gracias por su atención, nos vemos en nuevos artículos!😉
Enlaces:
Básicos:


