Você está cansado de copiar e colar seus documentos em softwares de tradução apenas para se comunicar com clientes internacionais? Ou talvez esteja automatizando a colaboração em um artigo de pesquisa com um parceiro que fala outro idioma. Seja qual for o caso, temos uma notícia empolgante para você! Graças à integração entre Google Docs e OpenAI, e com a ajuda da Latenode.com, temos orgulho de oferecer um fluxo simplificado que permite fornecer um link para seu documento do Google e traduzi-lo para o idioma desejado. Chega de perder tempo com traduções manuais — deixe a tecnologia trabalhar por você!
Preparação
Primeiro, como sempre, certifique-se de que temos tudo o que precisamos para criar uma cadeia: uma conta no ChatGPT e uma chave pessoal dela, além de uma conta Google e o respectivo token;
Há pouco tempo, a Latenode adicionou integração com muitos serviços, mas os documentos específicos ainda não foram implementados. Porém, isso também deve ser incluído em breve. Por enquanto, obteremos o token da forma antiga, seguindo as instruções do nosso artigo. Na lista, escolha apenas o escopo "Google Docs API v..." e "https://www.googleapis.com/auth/documents";
A chave pessoal no ChatGPT pode ser visualizada ou criada aqui, nas configurações do perfil:
![]()
Criando uma cadeia na Latenode
A primeira coisa que fazemos, como sempre, é criar um nó: "+ Add Node" => "Http" => "Webhook";
Vamos copiar imediatamente o endereço dele;
![]()
Salve as alterações;
Também prepararemos uma solicitação preliminar para o cliente REST (Postman, Insomnia):
REQ 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'
Altere o link do Webhook para o seu;
Em seguida, substitua nossa chave do ChatGPT em personalTokenChatGPT;
Depois, insira seu token do Google Doc em googleDocToken;
Altere docID para o ID do documento desejado, que pode ser obtido na barra de endereço;
![]()
Se necessário, você pode alterar o idioma da tradução no parâmetro language;
![]()
Em seguida, adicione o nó "HTTP request" para obter o conteúdo do documento: "+ Add Node" => "Http" => "HTTP request";
Salve;
Conecte os nós;
Inicie e chame a cadeia para transferir dados entre os nós;
Vamos preencher o campo "Url": comece com o endereço "https://docs.googleapis.com/v1/documents/", seguido pelo parâmetro body.docID do nó "Webhook";
Verifique se o método padrão é "GET";
Em Headers, adicione dois:
- Content-Type com o valor: application/json
- Em Authorization, insira o valor Bearer e selecione o parâmetro do nó "Webhook" com o nome: body.googleDocToken
Salve as alterações;
![]()
Conecte os nós;
Inicie e chame a cadeia para transferir dados entre os nós;
Em seguida, adicione um nó "JavaScript" para obter o conteúdo do documento: "+ Add Node" => "Code" => "JavaScript";
Insira nele o conteúdo do bloco abaixo:
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":`Write a brief retelling of the main point of the text on ${data["{{1.body.language}}"]}: ${docText}`,
"temperature":0,
"max_tokens":1400
});
return {
resultRawJSON
}
Salve;
Conecte os nós;
Inicie e chame a cadeia para transferir dados entre os nós;
Abra novamente as configurações do nó "JavaScript";
Verifique, em todas as construções como "data["{{2.body.body.content}}"]" e "data["{{2.body.body.content}}"]", se os números dos nós correspondem àqueles dos quais recebemos os dados. Caso contrário, substitua-os pelos números necessários (lembre-se de que 1 é o número do nó escrito imediatamente abaixo do nome dele, acima do tipo do nó. Depois, se for uma consulta, selecione o campo do objeto responsável pelo tipo de dados enviados/recebidos — body para formulários ou query para parâmetros de consulta);
![]()
![]()
Se houver alterações, salve-as;
Agora, vamos adicionar outro "Http request": "+ Add node" => "Http" => "HTTP request";
Salve;
Conecte os nós;
Inicie e chame a cadeia para transferir dados entre os nós;
Vamos preencher o campo "Url": insira o endereço "https://api.openai.com/v1/completions" no início;
Altere o método da solicitação para "POST";
No corpo, em "raw", insira a variável resultRawJSON do nó "JavaScript" anterior;
Em Headers, adicione dois:
- Content-Type com o valor: application/json
- Authorization com o valor: Bearer e, em seguida, selecione o parâmetro do nó "Webhook" com o nome: body.personalTokenChatGPT
Salve as alterações;
![]()
Ao final, para retornar o texto recebido do ChatGPT, adicione o nó "Webhook response": "+ Add Node" => "Http" => "Webhook response";
Salve;
Conecte os nós;
Execute e chame a cadeia para transferir dados entre os nós;
Preencha a resposta com a versão pronta caso tenha havido uma resposta bem-sucedida da solicitação anterior body.choices.[0].text:
![]()
Vamos executar a cadeia completa e chamá-la;
Depois disso, a resposta deverá retornar uma breve paráfrase do documento em inglês;
![]()
A cadeia concluída ficará assim ao final;
![]()
Obrigado pela atenção, até os próximos artigos!😉
Links:
Básicos:


