我正在使用Google的Oauth 2.0获取用户的access_token,但是我不知道如何将其与imaplib一起使用来访问收件箱。
我正在使用Google的Oauth 2.0获取用户的access_token,但是我不知道如何将其与imaplib一起使用来访问收件箱。
以下是使用 OAuth 2.0 的 IMAP 代码
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')
更多详细信息请参见库代码。
目前您可以使用OAuth 1.0来访问Gmail的IMAP和SMTP,但是OAuth 2.0尚未得到支持。这里有更多信息的链接:https://developers.google.com/google-apps/gmail/oauth_overview
IMAP 不支持在没有密码的情况下访问收件箱 -> 因此 imaplib 也不支持