Yahoo Answers APIЕсть такая замечательная штука у некоторых веб-сайтов, как API (из WiKi: Интерфейс прикладного программирования (Application Programming Interface, API [эй-пи-ай]; по-русски чаще произносят [апи?]) — набор готовых констант, структур и функций, используемых при программировании пользовательских приложений и обеспечивающих правильное взаимодействие между пользовательским приложением и операционной системой).

В этом посте хочу рассказать об API от Yahoo. Яху предоставляет доступ к своему поисковому движку, другим классным сервисам (Flickr, Finance и пр.), а также к популярному на западе сайту Answers.Yahoo.com — сервису вопросов-ответов.

Эти вопросы-ответы можно использовать как готовый уникальный контент, который можно вставить на свой сайт. Или придумать ему другое применение.

Сейчас я всё расскажу и покажу, как работать с этим API и получать вопросы-ответы.

Шаг 1. Регистрируемся в Yahoo.

Шаг 2. Получаем Application ID. Выбираем Authentication method «Generic, No user authentication required». Остальные поля заполните как хотите. Скопируйте Application ID куда-нибудь, чтобы потом его не забыть и использовать в коде.

Шаг 3. Читаем мануал по Answers. Хотя, можете этот шаг пока пропустить. Ведь я дам готовый работающий пример. Ну а позже, для более детальной проработки этого вопроса можете его почитать.

Шаг 4. Качаем мой пример и запускаем.

Вот, например, как выглядит ответ API на запрос вопроса:

stdClass Object
(
    [Id] => 20090419154617AAk7kVw
    [Subject] => Can you give Right Answer?
    [Content] => Do you know the picture below was taken from which TV Show?

http://img24.imageshack.us/img24/7249/18592434.jpg
Thanks and i hope someone can give Quick Correct Answer
    [Date] => 2009-04-19 15:46:17
    [Timestamp] => 1240181177
    [Link] => http://answers.yahoo.com/question/?qid=20090419154617AAk7kVw
    [Type] => 20090419154617AAk7kVw
    [CategoryId] => 2115500184
    [CategoryName] => Drama
    [UserId] => AA10212269
    [UserNick] => lindasmith1975@yahoo.com
    [UserPhotoURL] => http://F32.yahoofs.com/coreid/49ba7ca7ia0bz/B_O9xII9cqgRi6dT9mv1uHFuqoCINg--/100/tn48.jpg?ciAQpxKBrDEYavAi
    [NumAnswers] => 3
    [NumComments] => 0
    [ChosenAnswer] => Roswell, i love that show.
    [ChosenAnswererId] => Jg97CdFnaa
    [ChosenAnswererNick] => natti943
    [ChosenAnswerTimestamp] => 1240181461
    [ChosenAnswerAwardTimestamp] => 1240202153
)

Для чтения ответов на этот вопрос нужно лишь указать Id этого вопроса (20090419154617AAk7kVw). Подробности читайте в файле.