Google Planilhas Avançado - #99 Busca por CEP
02/06/2022Nesse tutorial aprenderemos como realizar a busca por CEP dentro do Google Planilhas exibindo o endereço, cidade, bairro e estado.
Api dos Correios
Para realizar a consulta na API dos Correios utilizaremos o site Viacep.
Você pode reparar no código acima que pra fazer a requisição no site dos correios utilizamos a classe UrlFetchApp.
Para utilizar a UrlFetchApp, um dos requisitos é que você coloque o escopo no arquivo manifesto. Para isso, vá na engrenagem do seu editor do Google Apps Scripts e selecione a opção "Mostrar arquivo de manifesto "appsscript.json" no editor"
Posteriormente irá notar que aparecerá um arquivo appscript.json. Dentro desse arquivo você vai inserir o escopo, conforme código abaixo:
{
"timeZone": "America/Sao_Paulo",
"dependencies": {
},
"exceptionLogging": "STACKDRIVER",
"runtimeVersion": "V8",
"oauthScopes": [
"https://www.googleapis.com/auth/spreadsheets",
"https://www.googleapis.com/auth/script.external_request"
]
}
O código para realizar a consulta segue abaixo:
let app = SpreadsheetApp;
let spreadsheet = app.getActiveSpreadsheet();
let sheet = spreadsheet.getSheetByName('Página1');
//Busca o cep na base dos correios
function getAddressByCep(e)
{
if(e.range.getColumn() == 1){
let row = e.range.getRow();
let cep = e.value.replace('-','');
let reqs = UrlFetchApp.fetch(`viacep.com.br/ws/${cep}/json/`);
let ress = JSON.parse(reqs.getContentText());
sheet.getRange(`B${row}:G${row}`).setValues([[
ress.logradouro,
'',
ress.complemento,
ress.bairro,
ress.localidade,
ress.uf
]]);
}
}
Não esqueça de adicionar o acionador de edição linkando a função getAddressByCep().
Por hoje é só! Sucesso nos códigos e na vida!