Integração Google Drive com Python e Enviar o link pelo Gmail

Introdução

Nesse artigo aborda a integração Python com Google Drive, mostrando como é feita a configuração e depois a implementação de um upload de arquivo, adicionar permissões para ser um arquivo público e depois gerar o link para acesso ao arquivo. Depois do link gerado, irei mostrar a codificação de um envio de email utilizando o smtp do gmail.

Configuração

É necessário configurar a API do Google drive

https://console.developers.google.com/

Primeiramente precisamos habilitar a API, clique em

e depois APIs e serviços e depois em biblioteca

Clique em Habilitar a API

Depois é necessário Gerenciar a API as credenciais

Clique em Criar Credenciais e selecione cliente do OAuth

No tipo de Aplicativo coloque “App para computador” e coloque em “Criar”

Cliente Criado

Depois é necessário exportar o json de configuração clicando em

Agora é preciso criar a página de consentimento OAuth

Clique em Tela de Consentimento OAuth e depois em criar Aplicativo

OBS: É necessário ter um domínio para google validar

Preenchas as informações do APP

É preciso preencher as informações de domínio

Adicione os escopos

Preencha as informações adicionais

Pronto agora a API está configurada

Codificação

Instalação

pip install PyDrive

Autenticação

O arquivo de credenciais exportado precisa ser renomado para client_secrets.json

A Autenticação é feita por essas funções e através do json de autenticação

g_login = GoogleAuth()

drive = GoogleDrive(g_login)

Upload File

file = open(‘teste.txt’)

fn = os.path.basename(file.name)

file_drive = drive.CreateFile({‘title’: fn })

file_drive.SetContentString(file.read())

file_drive.Upload()

Adicionando Permissão para público

OBS: Se não adicionar essa função, os arquivos serão privados e o acesso via login e senha

permission = file_drive.InsertPermission({

‘type’: ‘anyone’,

‘value’: ‘anyone’,

‘role’: ‘reader’})

URL do arquivo

file_drive[‘alternateLink’]

Codificação do Envio de Email com smtp do GMAIL

Configuração

  • email_smtp_ssl_host=smtp.gmail.com
  • email_smtp_ssl_port=465
  • email_username=email@gmail.com
  • email_password=senha
  • email_from_addr=email@gmail.com

Criação da Mensagem

message = MIMEText(text)

message[‘subject’] = title

message[‘from’] = from_addr

message[‘to’] = ‘, ‘.join(to_addrs)

Envio do Email

server = smtplib.SMTP_SSL(smtp_ssl_host, smtp_ssl_port)

server.login(username, password)

server.sendmail(from_addr, to_addrs, message.as_string())

Github

https://github.com/filipemot/python_google_drive_gmail

--

--

--

Desenvolvedor Senior da empresa Imagem, MBA Arquitetura de Software

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Filipe Motta

Filipe Motta

Desenvolvedor Senior da empresa Imagem, MBA Arquitetura de Software

More from Medium

Install and run TensorFlow with Jupyter on Mac M1 pro: 2022 guide

Scraping Application Development for FnB Marketplace

the dashboard of program

Proctoring Online Exams Using Artificial Intelligence Can Land You That Government Position: Remote…

Proctoring Online Exams Using Artificial Intelligence

Automate your scripts with the power of cron(time) on macOS