programmazione accedere Yahoo / MSN (Hotmail) utilizzando codice Python Django e ottenere l'elenco dei contatti?
-
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
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.