Sto usando Google OAuth 2.0 per ottenere access_token dell'utente, ma non so come usarlo con imaplib per accedere casella di posta.accesso Gmail IMAP con OAuth 2.0 token di accesso
risposta
sotto è il codice per 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')
per maggiori dettagli: http://google-mail-oauth2-tools.googlecode.com/svn/trunk/python/oauth2.py
Il codice è stato spostato su github https://github.com/google/gmail-oauth2-tools/blob/master/python/oauth2.py –
IMAP non supporta inbox accesso senza la password -> doesnt così imaplib
IMAP supporta [SASL] (http://tools.ietf.org/html/rfc4959) come estensione –
Attualmente è possibile utilizzare OAuth 1.0 per accedere a Gmail su IMAP e SMTP, ma OAuth 2.0 non è ancora supportato. Ecco un link per ulteriori informazioni: https://developers.google.com/google-apps/gmail/oauth_overview
A partire dal 17 settembre 2012 è supportato anche OAuth 2.0. –
Questo è qualcosa che ho calci in giro. Non volevo destreggiarmi tra token di accesso di aggiornamento e cosa non io - ho anche trovato che c'era un codice di codice troppo alto nell'esempio di Google. Ho deciso solo di scrivere wrapper molto semplici che consentono OAuth2 IMAP e SMTP che utilizzano le credenziali e gli oggetti Flow da google-api-python-client.
Speriamo che questo aiuti qualcuno.
Hai trovato una soluzione? Sto cercando di riscrivere alcune delle librerie correnti per usare semplicemente access_token. – Wasauce