Googlee App - Autenticação

164 views
Skip to first unread message

Nathana Facion

unread,
May 16, 2014, 11:51:51 AM5/16/14
to python...@googlegroups.com
Boa tarde,
sou nova em programação para google app com python. 
E estou com o seguinte problema:
- Eu tenho uma aplicação web, que ao acessar o site logado com a conta do google eu vou escrever no google calendar dela os compromissos dela esse mês.
- A questão é como realizar essa autenticação?

O código que busca acesso ao google calendar é:
cal_client = gdata.calendar.service.CalendarService()
cal_client.email = 'email'
cal_client.source = 'Report Manager v0.1'
cal_client.password = 'senha'        
cal_client.ProgrammaticLogin()

Quando se loga pelo que entendi eu recebo um parametro apenas que é um token de acesso do usuário mas para acessar  o google calendar eu preciso de email e senha.

Renzo Nuccitelli

unread,
May 19, 2014, 6:38:31 PM5/19/14
to python-brasil
Para autenticação vc irá utilizar o protocolo OAuth 2:

https://developers.google.com/accounts/?hl=pt-BR

Compensa também dar uma olhada nas libs que eles oferecem para lidar com parte da autenticação para vc. Veja o "Tips" no fim da página:

https://developers.google.com/google-apps/calendar/auth

Basicamente vc vai ter que criar uma app. Para ela vc vai definir um nome e irá receber um token para autenticar suas requisições. Depois terá que utilizar esse token nas chamadas que fizer à API. O processo é análogo à criação de uma app no Facebook.

O protocolo OAuth justamente existe para vc não ter que saber login e senha do usuário para conseguir permissão de acesso aos dados deles.

Enfim, acho que os links são um inicio.

 Abs,

--
  Renzo Nuccitelli


--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com

---
Você recebeu essa mensagem porque está inscrito no grupo quot;Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Nathana Facion

unread,
May 20, 2014, 3:10:20 PM5/20/14
to python...@googlegroups.com
Entao Renzo, voce tem algum exemplo de aplicacao com google calendar que usaria desta forma? Pois, eu cheguei entrar nessas paginas entretanto ainda nao entendi como seria a autenticacao eu gerei a chave do aplicativo, mas essa chave  vai a onde? Porque eu quero ter um aplicativo em google app e ao logar no site com o login do google ele entra no sistema e a google agenda dele sera atualizada com os dados de uma planilha do google drive. (Desculpa a falta de acentuacao e cedilha) Voce pode me dar uma ideia sobre isso? Pois a versao desktopodisso que falei funciona, mas ele esta logando na minha conta, ao jogar essa aplicacao para web tambem esta funcionando, entretanto agora tornarei generico permitindo que atualize agende de qualquer pessoa.

Renzo Nuccitelli

unread,
May 21, 2014, 10:18:07 AM5/21/14
to python-brasil
O fluso é o que consta no documento:

  1. When you create your application, you register it using the Google Developers Console. Google then provides information you'll need later, such as a client ID and a client secret.
  2. Activate the Google Calendar API in the Google Developers Console. (If the API isn't listed in the Developers Console, then skip this step.)
  3. When your application needs access to user data, it asks Google for a particular scope of access.
  4. Google displays a consent screen to the user, asking them to authorize your application to request some of their data.
  5. If the user approves, then Google gives your application a short-lived access token.
  6. Your application requests user data, attaching the access token to the request.
  7. If Google determines that your request and the token are valid, it returns the requested data.

Basicamente depois que vc tiver o token de sua aplicação, toda vez que vc for fazer uma chamada à api do Google Calendar, vc vai ter que pedir para o usuário se autenticar (passo 4).

Se o usuário autorizar, vc irá receber um outro token, com validade de tempo (em geral algumas horas) para fazer as chamadas para o calendário (passo 5). Você deve então utilizar esse token para fazer as chamadas à api do Calendar para ter acesso aos dados do usuário.

 Mas existem as libs prontas para vc fazer os acessos. Veja a do calendar:

https://developers.google.com/api-client-library/python/?hl=es

 Abs,

--
  Renzo Nuccitelli

Elias de Oliveira

unread,
May 21, 2014, 10:18:36 AM5/21/14
to python...@googlegroups.com
Nathana, nessa resposta do stackoverflow tem em alto nível o funcionamento do Oauth2(que é o que você estará usando para logar o usuário): http://stackoverflow.com/questions/4727226/on-a-high-level-how-does-oauth-2-work




Em 20 de maio de 2014 16:10, Nathana Facion <nah...@gmail.com> escreveu:



--
Elias Granja
Web and Android developer
http://www.eliasgranja.com
Phone: +55 19 8124-2645
Reply all
Reply to author
Forward
0 new messages