Tribo do C.I.

Só mais um blog de informática (só que não)

Dica: Upload de arquivos no Google Drive

setembro 25th, 2014

Já pensou na idéia de seu app poder fazer upload de um arquivo no Google Drive de quem tá o usando? Eu não só pensei como precisei, e é por isso que estou escrevendo esse post. A plataforma Drive, disponibilizada pela Google, vem com uma série de API’s e exemplos de código em diversas linguagens para tornar fácil a comunicação de qualquer tipo de app com o serviço.

drive

É claro que as fucionalidades principais desta plataforma são download e upload, e será colocado abaixo um mini tutorial para criação de um script PHP de upload de arquivos.

1. Habilite a API Drive

O primeiro passo de tudo é criar ou selecionar um projeto no Google Developers Console e habilitar a API. Depois é só ir na seção APIs & auth, depois em API e verificar se a API Drive está ativa. Depois vá em Credentials, e clique em Create new Client ID e escolha a opção Installed Application.

2. Obtenha a biblioteca cliente da API Google

A versão mais nova da biblioteca Google pode ser baixada pelo github:  google-api-php-client e você precisará copiar a pasta src/Google para sua aplicação.

3. Oauth2

O exemplo de upload mostrado no tutorial da google utiliza uma versão mais antiga da autenticação. Nós iremos utilizar uma nova versão que consiste em três passos: primeiro a aplicação pede acesso ao usuário, depois o usuário concede o acesso, depois nós usamos esse código acesso nas próximas vezes.

Exemplo:

Você pode utilizar um código parecido com o que eu usei, ele foi criado para ser executado em linha de comando, e armazena o token em um arquivo de texto simples. Veja o código no Github da Tribo do CI.

Agora que já temos uma noção da API, podemos dar uma olhada na sua referência para incrementar um pouco mais no código.

 

Front in BH 2014: Eu Fui!!!

julho 29th, 2014

Resumo Frontin BH

Obs: este artigo pode ser lido em inglês em: https://medium.com/@sheldonled/frontin-bh-2014-66b5a1178b28

Já tem um certo tempo que estou focando meus estudos em tecnologias front-end, e nada melhor que eventos/conferências/workshops/etc para nos manter atualizados. Quase não estou saindo da terra do pequi para me aventurar em eventos, e percebo que estou fazendo uma média de 1 evento por ano.

Em 2013 fui ao TDC SP (trilha de UX/Front-end), e aprendi muita coisa legal. Pude levar minha esposa, e pude rever meu amigo e sócio deste blog, Relson. Esse ano foi a vez de ir para Belo Horizonte, prestigiar o magnífico FrontinBH. Foi a primeira vez que eu e minha amada fomos para BH, e deu pra curtir bastante esse fim de semana.

Planejamento ft. Ansiedade

Confirmei minha ida aproximadamente um mês antes do evento, porém só na sexta-feira que antecedeu o evento pude confirmar como e com quem eu iria. Convidei alguns amigos para ir ao evento, verifiquei a possibilidade de ir com alguns parentes, mas no fim fomos minha esposa e eu.

Chegamos em BH poucos minutos antes do evento, e ela ficou comigo no início, depois eu a levei ao hotel para descansar enquanto eu enfrentava chuva e a demora do metrô para chegar novamente ao Teatro Ney Soares e perder o início da palestra sobre TrackingJS. Fiquei um pouco perdido na cidade no começo do dia mas após umas caminhadas e com ajuda do GPS eu consegui ir e vir mais tranquilamente.

O Evento

Fiquei admirado com o evento. Ao mesmo tempo que eu estava em um auditório lotado, com centenas de pessoas que eu não conhecia, eu me vi ao lado de grandes mentes, pessoas que estão puxando a web pra frente ‘trocadilho alerts’, pude trocar idéias com pessoas que eu costumava ver no youtube, e tudo isso contribuiu bastante para minha experiência.

O evento nos deixou momentos alegres, como os momentos: “Livraria” e “Oxenti”, e o autor do primeiro pode me dar dicas bem legais sobre o mercado internacional e como treinar Inglês sozinho :) Ele (Michael Lancaster) foi responsável por apresentar à platéia o Node Webkit, uma plataforma de desenvolvimento nativo usando tecnologias conhecidas por nós web developers.

A abertura do evento foi feita pelo incrível Bernard De Luna, uma pessoa já conhecida pelos seus projetos sexys, e a primeira palestra foi sobre frameworks de testes de UI, dos quais, os que mais me chamaram atenção foram: Jasmine, Qunit, Mocha, Buster e Karma. Outra palestra interessantíssima foi a dos caras da RC Comunicação sobre o workflow de desenvolvimento web (Design ?Implementação). Nessa palestra, destacou-se o poder do Webflow.

Como eu disse acima, perdi algumas palestras, pois fui almoçar próximo ao hotel, fazer check-in e guardar minhas coisas. Cheguei no meio da palestra sobre TrackingJS, um framework incrível que possibilita reconhecimento de cor, de face e outras. Perguntei ao Zeno Rocha, na hora do lanche, se eles começaram a desenvolver isso com algum objetivo em mente, e ele me respondeu: “Não, e isso nem tem nada a ver com o nosso trabalho (na Liferay). A gente teve a ideia e começou a fazer”.

Falando em lanche, estava tudo muito bom :D e eu pude conhecer pessoalmente, como citei acima, caras que eu só via nas redes sociais. Conversei um pouco com Yamil Asusta, que palestrou sobre o incrível Browserify, uma ferramenta que permite trazer modulos do npm para o browser. Conversei também com o Felquis, sobre várias coisas, principalmente sobre meet ups e workshops.

No final da tarde tivemos as meninas do Github, falando sobre o poder dos Polyfills e o Mathias Bynens falando sobre Unicode no JavaScript. Dentre outras coisas que tiveram no evento e eu não citei aqui, só gostaria de terminar esse post com o principal conselho que ouvi no evento: “Agarre os desafios, só assim você vai crescer”.

Ansioso para o FrontinBH 2015 =)

 

Formulário com GeoLocalização

julho 24th, 2014

Obs: este artigo pode ser lido em inglês em: https://medium.com/@sheldonled/form-with-geolocation-7c9cc0936732

Todos os dias preenchemos algum formulário na internet, e sabemos o quão chato é! Por exemplo, porque sempre temos que preencher informações de endereço? Porque o computador não simplesmente “tem” minha localização Deus sabe como? Bom, com HTML5 GeoLocation a experiência do usuário pode ficar bem melhor. Através do HTML5 Geolocation temos as coordenadas geográficas, e através da API de Geocodificação Google conseguimos o restante da informação

Eu assisti a uma palestra sobre melhores práticas em Web Mobile, e aprendi que pode ser uma boa idéia preencher os dados de endereço do formulário usando geolocalização. Você pode aprender mais sobre HTML5 GeoLocation na MDN, e você vai ver que essa API só fornece as coordenadas geográficas. Você pode ver no Can I Use o suporte dos navegadores para GeoLocation, mas por questões de privacidade, o aparecerá uma pergunta ao usuário se ele permite fornecer sua localização, ou seja, o preenchimento automático vai depender do usuário.

Once you have the user’s Geographic Coordinates, you can send a request to Google Geocoding API to get the real information, like city, state and zip code. These informations could be wrong, so it’s important to let the input writable. The URL of Google API we’ll use is the Reverse Geocoding, and it’s like that:

Uma vez que você tem as coordenadas geográficas do usuário, você pode mandar uma requisição à API Google de Geocodificação, para pegar as informações reais, como cidade, estado e cep. Estas informações podem vir erradas, então é importante deixar o input editável. A URL da API Google que vamos usar é a Geocodificação Reversa, e é mais ou menos assim:

http://maps.googleapis.com/maps/api/geocode/json?latlng=<latitude>,<longitude>

A e devem ser substituidas por números reais, tipo assim:

http://maps.googleapis.com/maps/api/geocode/json?latlng=37.4319075,-122.137884

Bom, “talk is cheap show me the code”, Eu fiz um exemplo prático de como você pode usar isso no seu formulário:

See the Pen shoeH by Sheldon Led (@sheldonled) on CodePen.

 

Agora, Eu só quero que todo mundo (até eu) comece a usar isso porque é uma boa melhoria e economiza tempo.

Tribo do C.I.

Tribo do C.I.

Só mais um blog de informática (só que não)