2011-10-07 53 views
1

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

对于谷歌它真的很简单:

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: 最后,我避免使用雅虎API,并使用django-openinviter为我的目的。

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

回答

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'] 
+0

谢谢!你可以改进你的解决方案,告诉,如何获得指导? –

+0

您可以通过在用户登录时向http://social.yahooapis.com/v1/me/guid发送HTTP GET请求来获取用户的guid。请参阅http://developer.yahoo.com/social/rest_api_guide /introspective-guid-resource.html –

+0

感谢您的帮助。 –

2

雅虎有一些不错的文档介绍如何使用Python here来访问它的API。那里的信息将告诉你如何通过http请求通过YQL访问雅虎API。这意味着直接执行http GET和POST并自己分析结果。不过,他们也有一个Python库,它包含了这些调用here,但它自10/13/2009以来并未更新,因此您的里程可能会有所不同。

+0

在这些文档上多花了一个小时。有没有简单的方法? –

相关问题