2012-02-03 32 views

Odpowiedz

10

Poniżej znajduje się kod dla IMAP z 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') 

więcej szczegółów: http://google-mail-oauth2-tools.googlecode.com/svn/trunk/python/oauth2.py

+0

Kod został przeniesiony do github https://github.com/google/gmail-oauth2-tools/blob/master/python/oauth2.py –

-1

IMAP nie obsługują dostępu do skrzynki bez hasła -> tak imaplib robi

+1

IMAP obsługuje [SASL] (http://tools.ietf.org/html/rfc4959) jako rozszerzenie –

1

To jest coś, co już kopać wokół. Nie chciałem żonglować odświeżającymi tokenami dostępu, a co nie ja - w przykładzie Google odkryłem również, że jest zbyt dużo kodu standardowego. Postanowiłem po prostu napisać bardzo proste wrappery, które pozwalają na OAuth2 IMAP i SMTP, które wykorzystują obiekty Credentials i Flow z google-api-python-client.

Mam nadzieję, że to pomoże komuś.

https://github.com/richieforeman/oauth2gmail