2011-10-07 54 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

在這些文檔上多花了一個小時。有沒有簡單的方法? –

相關問題