在python中从yahoo导入联系人

时间:2011-10-07 11:43:21

标签: python django yahoo yahoo-api

是否有官方方式从雅虎用户地址簿导入联系人?

对谷歌而言,它非常简单:

import gdata
contacts_service = gdata.contacts.service.ContactsService()
contacts_service.email = email
contacts_service.password = password
contacts_service.ProgrammaticLogin()
query = gdata.contacts.service.ContactsQuery()
query.max_results = GOOGLE_CONTACTS_MAX_RESULTS
entries = contacts_service.GetContactsFeed(query.ToUri())

雅虎有这么简单的方法吗?

我发现了一些不使用api的解决方案,对于严肃游戏来说看起来很奇怪 - 例如ContactGrabber。 我在django-friends app找到了需要BBAuth令牌的解决方案。

但是,我希望通过官方,明确的方式从雅虎获取用户联系人。它存在吗?

UPD: 最后,我避免使用yahoo api,并使用django-openinviter作为我的目的。

但我仍在寻找使用api导入用户联系人的示例。

2 个答案:

答案 0 :(得分:4)

Contacts REST API非常简单。您所追求的网址是

http://social.yahooapis.com/v1/user/{guid}/contacts.json

这是一个可以为您提取内容的脚本。您可以将其展开以包含身份验证。

import urllib2
import json

def get_contacts(guid):
    url = 'http://social.yahooapis.com/v1/user/{}/contacts.json'.format(guid)
    page = urllib2.urlopen(url)
    return json.load(page)['contacts']['contact']

答案 1 :(得分:2)

Yahoo有一些关于如何使用Python here访问其API的文档。这里的信息将告诉您如何使用HTTP请求访问YQL的Yahoo API。这意味着直接执行http GET和POST并自行解析结果。但是,它们还有一个python库来包装这些调用here,但它自2009年10月13日起还没有更新,所以你的里程可能会有所不同。