Подтвердить что ты не робот

Доступ к Gmail Imap с помощью токена доступа OAuth 2.0

Я использую Google Oauth 2.0, чтобы получить доступ к user_token, но я не знаю, как использовать его с imaplib для доступа к папке "Входящие".

4b9b3361

Ответ 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.

Надеюсь, это поможет кому-то.

https://github.com/richieforeman/oauth2gmail

Ответ 4

IMAP не поддерживает доступ к почтовому ящику без пароля → поэтому imaplib doesnt