programme se connecter à Yahoo / MSN (Hotmail) en utilisant le code Django python et obtenir la liste des contacts?
-
29-09-2019 - |
Question
Est-il possible de se connecter à Yahoo !, programme fournissant id e-mail et mot de passe comme entrées, et les contacts de chercher l'utilisateur?
J'ai réalisé la même chose avec Gmail, en utilisant BeautifulSoup.py
Yahoo Adresse API livre fournit BBAuth, qui demande à l'utilisateur d'être redirigé vers la page de connexion Yahoo. Mais je suis à la recherche d'un moyen d'authentifier l'utilisateur avec Yahoo sans redirection. J'ai essayé ceci: http://pypi.python.org/pypi/ContactGrabber/0.1
mais je reçois cette erreur:
Avertissement (du module avertissements): Fichier "C: \ Python26 \ lib \ site-packages \ ContactGrabber-0,1-py2.6.egg \ ContactGrabber \ base.py", ligne 31
RuntimeWarning: tempnam est un risque potentiel de sécurité à votre programme
non valide ID utilisateur / mot de passe
Exception WindowsError: (2, « Le système ne peut pas trouver le fichier spécifié », 'C: \ DOCUME ~ 1 \ sjain \ LOCALS ~ 1 \ Temp \ 2')> ignoré
La solution
Je résolu ce problème en utilisant urllib est le code ici:
loginURL = "https://login.yahoo.com/config/login?" ExportUrl = "http://address.yahoo.com/"
import_yahoo_contacts def (login, passwd):
try :
form_data = {'login' : login, 'passwd' : passwd}
jar = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(jar))
form_data = urllib.urlencode(form_data)
resp = opener.open(LoginUrl, form_data)
resp = opener.open(ExportUrl)
page = resp.read()
index = page.find('InitialContacts')
startjson = page.index('[',index)
endjson = page.index(']',index)
Jsondata = page[startjson:endjson+1]
user_contacts = []
data =json.JSONDecoder().decode(Jsondata)
for r in data:
userfriends = []
userfriends.append(r.get('contactName'))
userfriends.append(r.get('email'))
user_contacts.append(userfriends)
except:
return []
return user_contacts
Ce fonctionne vraiment pour moi:)
Autres conseils
Vous pouvez écrire un ou simplement utiliser Pinax . Pinax est une collection d'outils intégrés au-dessus de Django. Ils ont une application dont les importations imfo contacts (vCard de, Google ou Yahoo).
Je vous suggère de l'utiliser comme vous n'avez pas à le maintenir plus pour éviter de réinventer le cycle.