Доступ к Gmail Imap с помощью маркера доступа OAuth 2.0 - PullRequest
11 голосов
/ 03 февраля 2012

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

Ответы [ 4 ]

10 голосов
/ 23 октября 2012

Ниже приведен код для IMAP с oauth 2.0

email = 'k@example.com'
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')

, более подробно см. Код библиотеки .

1 голос
/ 06 ноября 2012

Это то, о чем я пинался.Я не хотел манипулировать обновлением токенов доступа и чего-то другого, кроме меня - я также обнаружил, что в примере Google было слишком много стандартного кода.Я решил просто написать очень простые оболочки, позволяющие использовать OAuth2 IMAP и SMTP, использующие объекты Credentials и Flow из google-api-python-client.

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

https://github.com/richieforeman/oauth2gmail

1 голос
/ 29 августа 2012

В настоящее время вы можете использовать OAuth 1.0 для доступа к Gmail через IMAP и SMTP, но OAuth 2.0 пока не поддерживается.Вот ссылка на дополнительную информацию: https://developers.google.com/google-apps/gmail/oauth_overview

0 голосов
/ 10 июля 2012

IMAP не поддерживает доступ к папке входящих без пароля -> поэтому imaplib не

...