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 - #105 Integração com a Tabela FIPE

09/09/2022

Nesse tutorial vamos aprender como realizar a integração do Google Planilhas com a tabela FIPE, trazendo dados de veículos.

Tabela Fipe e Google Planilhas

Para fazer essa integração vamos fazer uso do Github.

No Google Planilhas vamos utilizar a classe do Google Apps Script conhecida como Class UrlFetchApp para fazer requisições em webservices externos.

Arquivo Manifesto

Precisamos deixar explícito no nosso arquivo de manifesto appscript.json as permissões de acesso a arquivos externos. Ele ficará da seguinte maneira:

{
  "timeZone": "America/Sao_Paulo",
  "dependencies": {
  },
  "exceptionLogging": "STACKDRIVER",
  "runtimeVersion": "V8",
  "oauthScopes": [
      "https://www.googleapis.com/auth/spreadsheets",
      "https://www.googleapis.com/auth/script.external_request"
  ]
}

Tabela de Referência

A cada mês a tabela Fipe é atualizada, então precisamos primeiramente pegar a última tabela vigente com seus referidos preços, modelos, etc:

//Retorna a tabela de referência da FIPE
function getTable() {
  let options = {
    'method' : 'post',
    'contentType':'application/json'
  };
  let reqs = UrlFetchApp.fetch('http://veiculos.fipe.org.br/api/veiculos/ConsultarTabelaDeReferencia', options);
  let ress = JSON.parse(reqs.getContentText());
  return ress[0].Codigo;
}

Consulta da Marca

Agora que já temos a tabela de referência podemos buscar as marcas de veículos:

//Retornar as marcas dos veículos
function getMarcas()
{
  let row = 2;
  let formData = {
    'codigoTabelaReferencia': getTable(),
    'codigoTipoVeiculo': 1
  };
  var options = {
    'method' : 'post',
    'contentType':'application/json',
    'payload' : JSON.stringify(formData)
  };
  let reqs = UrlFetchApp.fetch('http://veiculos.fipe.org.br/api/veiculos/ConsultarMarcas', options);
  let ress = JSON.parse(reqs.getContentText());

  ress.map((elem,ind,obj)=>{
    sheetDB.getRange(`A${row}`).setValue(elem.Label);
    sheetDB.getRange(`B${row}`).setValue(elem.Value);
    row++;
  });
}

Consulta do Modelo

Para selecionar os modelos, primeiramente precisamos que o usuário selecione a marca, portanto precisamos criar um acionador de edição para que quando ele selecione a marca execute a função de listagem dos modelos.

//Retorna os modelos dos veículos escolhidos pelo usuário
function getModelos(e)
{
  let ui = app.getUi();
  if(e.range.getRow() == 1 && e.range.getColumn() == 2){
    let row = 2;
    let cell = sheetFormulario.getRange('B2');
    cell.setValue('Carregando...').setFontColor('#ccc')
    let formData = {
      'codigoTabelaReferencia': getTable(),
      'codigoTipoVeiculo': 1,
      "codigoMarca": sheetFormulario.getRange('C1').getValue()
    };
    var options = {
      'method' : 'post',
      'contentType':'application/json',
      'payload' : JSON.stringify(formData)
    };
    let reqs = UrlFetchApp.fetch('http://veiculos.fipe.org.br/api/veiculos/ConsultarModelos', options);
    let ress = JSON.parse(reqs.getContentText());

    sheetDB.getRange('D2:E').clearContent();
    ress.Modelos.map((elem,ind,obj)=>{
      sheetDB.getRange(`D${row}`).setValue(elem.Label);
      sheetDB.getRange(`E${row}`).setValue(elem.Value);
      row++;
    });
    
    let range = sheetDB.getRange('D2:D');
    let rule = app.newDataValidation().requireValueInRange(range).build();
    cell.setDataValidation(rule);
    cell.setValue('').setFontColor('#000');
  }
}

Por hoje é só! Sucesso nos códigos e na vida!

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

Posts Relacionados

Google Planilhas Avançado - #104 Senha na Planilha
Nesse tutorial iremos aprender como inserir senha de bloqueio dos dados dentro do Google Planilhas utilizando para isso o Google Apps Script.
Saiba mais!
Google Planilhas Avançado - #106 Integração ao Mercado Livre
Hoje iniciamos uma série de aulas de integração entre a Planilha do Google e o Mercado Livre. Nessa primeira aula vamos aprender como criar a aplicação e token
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!