قم بتسجيل الدخول برنامجياً إلى Yahoo/MSN (Hotmail) باستخدام رمز Python Django واحصل على قائمة جهات الاتصال؟

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

  •  29-09-2019
  •  | 
  •  

سؤال

هل هناك طريقة لتسجيل الدخول برنامجياً إلى Yahoo! ، توفير معرف البريد الإلكتروني وكلمة المرور كمدخلات ، وجلب جهات اتصال المستخدم؟

لقد حققت نفس الشيء مع gmail ، باستخدام beautifulsoup.py

يوفر API كتاب Yahoo عناوين BBAUTH ، والذي يتطلب إعادة توجيه المستخدم إلى صفحة تسجيل الدخول إلى Yahoo. لكنني أبحث عن طريقة لمصادقة المستخدم مع Yahoo دون إعادة التوجيه. لقد جربت هذا:http://pypi.python.org/pypi/ContactGrabber/0.1

لكني أتلقى هذا الخطأ:

تحذير (من وحدة التحذيرات): ملف "C: python26 lib site-packages contactgrabber-0.1-py2.6.egg contactGrabber base.py" ، السطر 31

RunTimewarning: Tempnam هو خطر أمان محتمل لبرنامجك

userId/كلمة المرور غير صالحة

استثناء Windowserror: (2 ، "لا يمكن للنظام العثور على الملف المحدد" ، "C: docume ~ 1 SJAIN FOCALS ~ 1 temp 2 ') في> تم تجاهله

هل كانت مفيدة؟

المحلول

لقد قمت بحل هذه المشكلة باستخدام urllib هنا هو الرمز:

loginurl = "https://login.yahoo.com/config/login؟" exporturl = "http://address.yahoo.com/"

def impirt_yahoo_contacts (تسجيل الدخول ، 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 

هذا حقا يعمل لي :)

نصائح أخرى

يمكنك كتابة واحدة أو مجرد استخدام pinax. Pinax هي مجموعة من الأدوات التي تم تصميمها على قمة Django. لديهم تطبيق يستورد الاتصال IMFO (من VCard أو Google أو Yahoo).

أقترح عليك استخدام هذا لأنك لست مضطرًا للحفاظ عليه بالإضافة إلى تجنب إعادة اختراع الدورة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top