FB_init

Saturday, December 10, 2016

Dados abertos - Câmara Legislativa - Proposições

Como fazer uma Planilha do Google com dados abertos da Câmara Legislativa. Nesse exemplo uso uma fórmula customizada. Esse é o resultado final:

Note o uso de uma fórmula customizada:



Para criar uma fórmula customizada, vá no menu "Ferramentas" -> Editor de scripts...


Crie uma função chamada obterProposicao, como na imagem abaixo. A função chama um webservice da Câmara usando a classe UrlFetchApp ( ver https://developers.google.com/apps-script/reference/url-fetch/url-fetch-app ). O webservice retorna XML que pode ser interpretado.


Porque o XML nesse caso tem uma estrutura simples só de um nível, um argumento chamado "elemento" declara "o que pegar do XML". Para ver os detalhes dos webservices da Câmara Legislativa, veja

http://www2.camara.leg.br/transparencia/dados-abertos/dados-abertos-legislativo

e

http://www2.camara.leg.br/transparencia/dados-abertos/dados-abertos-legislativo/webservices/proposicoes-1/obterproposicao

Enquanto o exemplo acima funcione, há uma melhoria e uma pergunta. Um problema é que cada referência à fórmula customizada na planilha chama o webservice uma vez. O ideal seria reduzir o número de chamadas ao webservice - se possível uma vez só pra planilha inteira - usando intervalos ( "ranges" ) de células. A pergunta é: quando é que as fórmulas são interpretadas e os dados são atualizados? Não achei a resposta muito facilmente. Em um post futuro mostrarei melhorias à solução resolvendo essas duas questões.


Dados abertos - webservices da Câmara Legislativa

  Estou olhando os webservices da Câmara Legislativa. A Câmara tem uma iniciativa de dados abertos. O requisito é ajudar algumas instituições da sociedade civil e indivíduos interessados a seguir mais detalhadamente o processo e tramitação de proposições da Câmara. Imagine que uma pessoa pode abrir uma planilha, entrar dados básicos de um Projeto de Emenda Constitucional (PEC) ou projeto de lei, clicar num menu ou entrar uma fórmula e os detalhes mais recentes do projeto de lei ou PEC aparecem dentro da planilha.

   Começo listando alguns links essenciais:

Dados abertos do Legislativo:

http://www2.camara.leg.br/transparencia/dados-abertos/dados-abertos-legislativo

Pesquisa simplificada:

http://www.camara.leg.br/buscaProposicoesWeb/pesquisaSimplificada

Debate:

 - O "pedido" foi de usar Excel. Mas como eu não tenho licença, olhei um pouco OpenOffice. Link principal: http://www.openoffice.org/development/ . Achei que eu ia demorar um pouco pra ver como usar a API. E também provavelmente ficasse complicado de usar o OpenOffice em Inglês ou de referir-se à documentação em Inglês para outras pessoas.

- Preferi usar o Google Sheets com Google Apps Script.

Links básicos:

https://developers.google.com/apps-script/guides/services/external

https://developers.google.com/apps-script/quickstart/docs

https://developers.google.com/apps-script/guides/sheets

https://developers.google.com/apps-script/quickstart/macros

https://developers.google.com/apps-script/reference/url-fetch/