Je veux utiliser Oauth pour vous connecter à Gmail en Python. En ce moment, j'ai le script xoauth.py de Google ( lien ) et générer un jeton fonctionne tout va bien, mais comment puis-je utiliser cela dans un autre script? Ça va être dans django.
Maintenant mon script se connecte comme ceci: p> mais je veux quelque chose de plus sécurisé. P> P>
3 Réponses :
Voici un exemple de connexion à IMAP à l'aide de routines présentes dans Google xoauthuth.py code>. Il produira des informations de débogage, vous voudrez donc probablement passer à l'utilisation de emballage OAuth pour une application réelle. Au moins cela devrait vous aider à démarrer:
Cela fonctionne en effet, merci. Comment ferais-je le faire avec le paquet OAuth?
Vous pouvez continuer à utiliser XoAuth tel que si vous pouvez tolérer les relevés d'impression ou simplement les déchirer de votre copie locale. Je n'ai pas utilisé personnellement oauth mais j'imagine que l'API est similaire. Il existe un exemple dans le référentiel OAuth: Exemple de client OAuth a>
Voici un exemple en utilisant le oauth2 code> module
pour authentifier à l'aide de OAuth, pris depuis le fichier README :
import oauth2 as oauth import oauth2.clients.imap as imaplib # Set up your Consumer and Token as per usual. Just like any other # three-legged OAuth request. consumer = oauth.Consumer('your_consumer_key', 'your_consumer_secret') token = oauth.Token('your_users_3_legged_token', 'your_users_3_legged_token_secret') # Setup the URL according to Google's XOAUTH implementation. Be sure # to replace the email here with the appropriate email address that # you wish to access. url = "https://mail.google.com/mail/b/your_users_email@gmail.com/imap/" conn = imaplib.IMAP4_SSL('imap.googlemail.com') conn.debug = 4 # This is the only thing in the API for impaplib.IMAP4_SSL that has # changed. You now authenticate with the URL, consumer, and token. conn.authenticate(url, consumer, token) # Once authenticated everything from the impalib.IMAP4_SSL class will # work as per usual without any modification to your code. conn.select('INBOX') print conn.list()
Salut Acorn, je suis nouveau à Oauth2 et à IMAPLIB, et j'ai quelques questions maintenant, pouvez-vous y répondre à: Stackoverflow.com/Questtions/17976626/...
Je ne reçois pas où "your_users_3_legged_Token" et "your_users_3_legged_token_secret" vient de: /
Google fournit des exemples OAuth 1 & 2. Leur API OAuth 1 est amorti et je ne peux pas le faire travailler avec Django-Social-Auth. Ce qui est ci-dessus, OAuth 2 fonctionne bien avec Django-Social-Auth.