Home
Button Mobile Webdesign em Foco
Newsletter Webdesign em Foco
Support Webdesign em Foco
Contribuition Webdesign em Foco
Doe para a Webdesign em Foco
Suporte da Webdesign em Foco
Fechar

Google Planilhas Avançado - #129 Projeto Completo - Assinatura Digital IV

13/11/2023

Neste 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

Receba as aulas da Webdesign em Foco em Seu Email
Suporte Webdesign em Foco

Posts Relacionados

Google Planilhas Avançado - #128 Projeto Completo - Assinatura Digital III
Neste tutorial continuaremos com nosso projeto de assinaturas digitais dentro do Google Sheets, desta vez registrando o protocolo da assinatura para autenticaç
Saiba mais!
Google Planilhas Avançado - #130 Removendo Caracteres Especiais
No vídeo de hoje aprenderemos como remover caracteres especiais dentro do Google Sheets, tais como parenteses, til, asterisfos e assim por diante.
Saiba mais!
Google Planilhas
Neste curso abordaremos a fundo as funcionalidades do Google Planilha. Adentraremos no Google App Script e na API do Google Sheet. Aproveite.
Saiba mais!