Google Planilhas Avançado - #129 Projeto Completo - Assinatura Digital IV
13/11/2023Neste tutorial aprenderemos como realizar a assinatura digital dentro do Google Docs usando como banco de dados o Google Planilhas.
Assinatura Digital - Google Docs
No Google Docs vamos acessar: Extensões >> Apps Script e jogar o seguinte código:
function open()
{
let ui = DocumentApp.getUi();
ui.createMenu('Operações').addItem('Assinar','assinar').addToUi();
}
function assinar()
{
SCRIPT.verifyUserWord();
}
No script externo teremos a seguinte função:
/**
* Solicitar email e senha do usuário no word
*/
function verifyUserWord()
{
let ui = DocumentApp.getUi();
let prompt = ui.prompt('Digite o seu email:');
let button = prompt.getSelectedButton();
let ress = prompt.getResponseText();
let emails = sheetUsers.getRange('B2:B').getValues().toString().split(',');
if(button === ui.Button.OK){
if(emails.indexOf(ress) == -1){
ui.alert('Email não cadastrado!');
}else{
let rowEmail = emails.indexOf(ress)+2;
let prompt2 = ui.prompt('Digite a senha:');
let button2 = prompt2.getSelectedButton();
let ress2 = prompt2.getResponseText();
let password = sheetUsers.getRange('C2:C').getValues().toString().split(',');
if(button2 === ui.Button.OK){
if(password.indexOf(ress2) == -1){
ui.alert('Senha inválida');
}else{
let lastRowProtocol = sheetProtocols.getLastRow()+1;
let today = new Date();
today = moment(today).format('DD/MM/YYYY');
let token = Math.random().toString(36).slice(2);
let docs = DocumentApp.openByUrl('https://docs.google.com/document/d/1LZSTfKoyVB304ombw31KoIUg7QyWSaz9KTGc7TYzzuU/edit');
let paragrafos = docs.getBody().getParagraphs();
paragrafos.map((elem,ind,obj)=>{
let msg = `O documento foi assinado pelo ${sheetUsers.getRange(`D${rowEmail}`).getValue()} com email ${sheetUsers.getRange(`B${rowEmail}`).getValue()}
Código de Autenticação: ${token}
`;
elem.replaceText('{{ASSINATURA}}',msg);
});
sheetProtocols.getRange(`A${lastRowProtocol}:D${lastRowProtocol}`).setValues([
[
lastRowProtocol-1,
token,
rowEmail-1,
today
]
]);
}
}
}
}
}
Não esqueça de criar o acionador para a função open (conforme demonstrado no vídeo).
Não esqueça também de importar a Biblioteca (conforme demonstrado no vídeo).
Então é isso, por hoje é só! Fiquem todos com Deus! Sucesso nos códigos e na vida!
Precisa de um professor? webdesignemfoco@gmail.com
"Jesus respondeu: ‘Ame o Senhor, o seu Deus de todo o seu coração, de toda a sua alma e de todo o seu entendimento’. Este é o primeiro e maior mandamento. E o segundo é semelhante a ele: ‘Ame o seu próximo como a si mesmo’." - Mateus - 22 37