2012-02-03 23 views

Respuesta

10

a continuación está el código para IMAP con oauth 2,0

email = '[email protected]' 
access_token = 'vF9dft4qmTc2Nvb3RlckBhdHRhdmlzdGEuY29tCg' 
auth_string = 'user=%s\1auth=Bearer %s\1\1' % (email, access_token) 

imap_conn = imaplib.IMAP4_SSL('imap.gmail.com') 
imap_conn.debug = 4 
imap_conn.authenticate('XOAUTH2', lambda x: auth_string) 
imap_conn.select('INBOX') 

para más detalles: http://google-mail-oauth2-tools.googlecode.com/svn/trunk/python/oauth2.py

+0

El código se ha movido a github https://github.com/google/gmail-oauth2-tools/blob/master/python/oauth2.py –

-1

IMAP no soporta la bandeja de entrada para acceder sin contraseña -> duerma por lo imaplib

+1

IMAP admite [SASL] (http://tools.ietf.org/html/rfc4959) como extensión –

1

Esto es algo que he estado golpeando alrededor. No quería hacer malabarismos con tokens de acceso refrescantes y lo que no era mío: también encontré que había demasiados códigos repetitivos en el ejemplo de Google. Decidí simplemente escribir envoltorios muy simples que permiten OAuth2 IMAP y SMTP que utilizan los objetos Credentials y Flow de google-api-python-client.

Espero que esto ayude a alguien.

https://github.com/richieforeman/oauth2gmail

Cuestiones relacionadas