Я использую Google Oauth 2.0, чтобы получить доступ к user_token, но я не знаю, как использовать его с imaplib для доступа к папке "Входящие".
Доступ к Gmail Imap с помощью токена доступа OAuth 2.0
Ответ 1
ниже приведен код IMAP с 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')
для более подробной информации: http://google-mail-oauth2-tools.googlecode.com/svn/trunk/python/oauth2.py
Ответ 2
В настоящее время вы можете использовать OAuth 1.0 для доступа к Gmail через IMAP и SMTP, но OAuth 2.0 еще не поддерживается. Вот ссылка на дополнительную информацию: https://developers.google.com/google-apps/gmail/oauth_overview
Ответ 3
Это то, что я начал пинать. Я не хотел жонглировать освежающими токенами доступа, а что не я - я также обнаружил, что в примере Google слишком много шаблонов. Я решил написать очень простые обертки, которые позволяют OAuth2 IMAP и SMTP использовать объекты Credentials и Flow из google-api-python-client.
Надеюсь, это поможет кому-то.
Ответ 4
IMAP не поддерживает доступ к почтовому ящику без пароля → поэтому imaplib doesnt