我使用Google的Oauth 2.0獲取用戶的access_token,但我不知道如何將其與imaplib配合使用來訪問收件箱。使用OAuth 2.0訪問Gmail 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')
如需詳細IMAP代碼:http://google-mail-oauth2-tools.googlecode.com/svn/trunk/python/oauth2.py
代碼已移至github https://github.com/google/gmail-oauth2-tools/blob/master/python/oauth2.py – 2016-02-07 10:22:39
IMAP不支持訪問收件箱中無密碼 - >所以imaplib犯規
IMAP支持[SASL](http://tools.ietf.org/html/rfc4959)作爲擴展 – 2012-09-06 21:21:01
目前可以使用OAuth 1.0以上IMAP和SMTP訪問Gmail,但OAuth 2.0用戶尚不支持。這裏是一個鏈接的詳細信息:https://developers.google.com/google-apps/gmail/oauth_overview
從2012年9月17日起,OAuth 2.0也受支持。 – 2012-09-22 17:09:06
這是我一直在踢左右。我不希望玩弄令人耳目一新的令牌以及不是我自己的東西 - 我還發現Google示例中代碼太多了。我決定編寫非常簡單的包裝,以允許使用來自google-api-python-client的Credentials和Flow對象的OAuth2 IMAP和SMTP。
希望這有助於某人。
- 1. 谷歌聯邦登錄訪問令牌訪問Gmail Imap xoauth
- 2. SwiftMailer gmail oauth刷新訪問令牌
- 3. 取得OAuth 2.0訪問令牌的AdSense
- 4. Gmail的IMAP訪問
- 5. 使用OAuth訪問令牌提取Gmail用戶名
- 6. 的OAuth 2訪問令牌
- 7. Facebook4j與OAUTH訪問令牌
- 8. OAuth和訪問令牌
- 9. SurveyMonkey:無法使用OAuth訪問令牌
- 10. 重複使用OAuth訪問令牌
- 11. 使用OAuth令牌訪問Salesforce
- 12. oauth訪問令牌以獲得新的訪問令牌
- 13. 如何使用oauth API 2.0爲hotmail創建訪問令牌
- 14. 使用2腿Oauth 2.0和Apache OauthClient訪問令牌
- 15. 使用Facebook OAuth 2.0 - 如何獲取訪問令牌?
- 16. 使用OAuth訪問令牌訪問SOAP服務?
- 17. 訪問使用JavaMail通過IMAP訪問Gmail(使用代理)
- 18. OAuth和訪問令牌持續問題
- 19. 請求OAuth訪問令牌問題
- 20. OAuth 2.0 - 何時應該使用刷新令牌更新訪問令牌?
- 21. 我使用何種範圍授權imap通過oauth訪問Gmail?
- 22. Google OAuth - 如何重用訪問令牌
- 23. OAuth 2請求新的訪問令牌使用刷新令牌?
- 24. Facebook訪問令牌
- 25. 帶有訪問令牌的Nodemailer和GMail
- 26. OAuth 2.0訪問令牌已過期,並且刷新令牌不可用
- 27. KeyError:訪問令牌
- 28. 使用外部訪問令牌或本地訪問令牌
- 29. 如何讓OAuth訪問GMail?
- 30. Gmail三方OAuth訪問 - Zend_Mail_Protocol_Exception
您是否找到解決方案?我正在重新編寫一些當前的庫來使用access_token。 – Wasauce 2012-07-09 00:35:44