Импорт контактов из Yahoo в Python - PullRequest
1 голос
/ 07 октября 2011

Есть ли официальный способ импортировать контакты из адресной книги пользователя из Yahoo?

Для Google это действительно просто:

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())

Есть ли такой простой способ для Yahoo?

Я нашел несколько решений, которые не используют API и выглядят странно для серьезной игры - например, ContactGrabber .Я нашел решения, которые требуют токена BBAuth в приложении django-friends .

Но я хочу официальный, понятный способ получения пользовательских контактов с Yahoo.Это существует?

UPD: Наконец-то я избегаю использования Yahoo API и использую django-openinviter для своих целей.

Но я все еще ищу примеры импорта пользовательских контактов с использованием API.

Ответы [ 2 ]

4 голосов
/ 20 октября 2011

API REST Contacts довольно прост. URL, по которому вы переходите:

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']
2 голосов
/ 07 октября 2011

У Yahoo есть неплохая документация о том, как получить доступ к своим API с помощью Python здесь .Информация там расскажет вам, как получить доступ к Yahoo API через YQL с помощью http-запросов.Это означает непосредственное выполнение http GET и POST, а также анализ результатов.Тем не менее, они также имеют библиотеку Python, которая упаковывает эти вызовы здесь , но она не обновлялась с 13.10.2009, поэтому ваш пробег может отличаться.

...