【发布时间】:2014-07-22 09:22:51
【问题描述】:
我正在使用 django social auth 来从 gmail 中检索联系人。我获得授权没有任何问题。我做了一个请求,然后我使用 lxml 来检索电子邮件地址。
问题是它没有显示每个联系人。例如,我只能检索 30 个联系人,而我的 gmail 帐户有 300 多个联系人。
这是我的看法:
def get_email_google(request):
social = request.user.social_auth.get(provider='google-oauth2')
url = 'https://www.google.com/m8/feeds/contacts/default/full' + '?access_token=' + social.tokens['access_token']
req = urllib2.Request(url, headers={'User-Agent' : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.30 (KHTML, like Gecko) Ubuntu/11.04 Chromium/12.0.742.112 Chrome/12.0.742.112 Safari/534.30"})
contacts = urllib2.urlopen(req).read()
contacts_xml = etree.fromstring(contacts)
contacts_list = []
for entry in contacts_xml.findall('{http://www.w3.org/2005/Atom}entry'):
for address in entry.findall('{http://schemas.google.com/g/2005}email'):
email = address.attrib.get('address')
contacts_list.append(email)
我不明白为什么我没有与该网址的所有联系人。
知道如何获取每个联系人吗?
非常感谢您的帮助!
【问题讨论】:
标签: python django lxml django-socialauth