Dica: Upload de arquivos no Google Drive

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.

Publicado por

Sheldon Led

Desenvolvedor e palestrante desde 2009. Já trabalhou com sistemas legados e software de gestão, mas hoje atua somente com web. Já participou do desenvolvimento de alguns portais governamentais e sites utilizando a plataforma Joomla e WordPress. Apesar de ser um desenvolvedor full-stack, tem focado seus estudos em tecnologias front-end e busca apoiar e colaborar em projetos envolvendo Software Livre, seja em eventos, material para estudo ou contribuição de código.