· 7 years ago · Jun 01, 2018, 10:32 AM
1def connect_to_gmail(CREDENTIALS, email, oauth_token, oauth_token_secret):
2 """
3 Call this function to get an authenticated IMAP connection
4 """
5 consumer = OAuthEntity(CREDENTIALS[0], CREDENTIALS[1])
6 access_token = OAuthEntity(oauth_token, oauth_token_secret)
7 xoauth_string = GenerateXOauthString(
8 consumer, access_token, email, 'imap',
9 None, str(random.randrange(2**64 - 1)), str(int(time.time())))
10
11 # connect to imap
12 imap_conn = imaplib.IMAP4_SSL('imap.googlemail.com')
13 #imap_conn.debug = 3
14 imap_conn.authenticate('XOAUTH', lambda x: xoauth_string)
15 imap_conn.select('INBOX')