programmazione accedere Yahoo / MSN (Hotmail) utilizzando codice Python Django e ottenere l'elenco dei contatti?

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

  •  29-09-2019
  •  | 
  •  

Domanda

C'è un modo per accedere al livello di codice Yahoo !, fornendo id-mail e la password come ingressi, a prendere contatti dell'utente?

Ho raggiunto la stessa cosa con Gmail, utilizzando BeautifulSoup.py

Yahoo Address book API fornisce BBAuth, che richiede che l'utente venga reindirizzato alla pagina di login di Yahoo. Ma sto cercando un modo per autenticare l'utente con Yahoo, senza il reindirizzamento. Ho provato questo: http://pypi.python.org/pypi/ContactGrabber/0.1

, ma sto ottenendo questo errore:

  

Attenzione (dal modulo avvertimenti): File   "C: \ Python26 \ lib \ site-packages \ ContactGrabber-0,1-py2.6.egg \ ContactGrabber \ base.py",   Linea 31

     

RuntimeWarning: tempnam è un potenziale rischio per la sicurezza al vostro programma

     

non valido UserID / password

     

Eccezione WindowsError: (2, 'Il sistema non riesce a trovare il file   specificato', 'C: \ DOCUME ~ 1 \ sjain \ LOCALS ~ 1 \ Temp \ 2') a> ignorato

È stato utile?

Soluzione

ho risolto questo problema utilizzando urllib ecco il codice:

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 

Questo funziona davvero per me:)

Altri suggerimenti

Si potrebbe scrivere uno o l'uso solo Pinax . Pinax è una raccolta di strumenti costruiti sulla cima di Django. Hanno un programma che le importazioni contatto Imfo (da vCard, Google o Yahoo).

Vi suggerisco di usare questo come non si dispone di mantenerla più a evitare di reinventare il ciclo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top