我正在使用 Google 的 Oauth 2.0 来获取用户的 access_token,但我不知道如何将它与 imaplib 一起使用来访问收件箱。
问问题
6493 次
4 回答
11
以下是带有 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')
有关更多详细信息,请参阅库代码。
于 2012-10-23T07:40:14.240 回答
1
这是我一直在讨论的事情。我不想在刷新访问令牌和我自己之间兼顾——我还发现 Google 示例中的样板代码太多。我决定只编写非常简单的包装器,允许 OAuth2 IMAP 和 SMTP 使用来自 google-api-python-client 的 Credentials 和 Flow 对象。
希望这可以帮助某人。
于 2012-11-06T06:55:30.377 回答
1
目前您可以使用 OAuth 1.0 通过 IMAP 和 SMTP 访问 Gmail,但尚不支持 OAuth 2.0。以下是更多信息的链接: https ://developers.google.com/google-apps/gmail/oauth_overview
于 2012-08-29T13:57:15.553 回答
-1
IMAP 不支持在没有密码的情况下访问收件箱 -> 所以 imaplib 不支持
于 2012-07-10T13:09:54.473 回答