programme se connecter à Yahoo / MSN (Hotmail) en utilisant le code Django python et obtenir la liste des contacts?

StackOverflow https://stackoverflow.com/questions/3904929

  •  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é

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top