20.04.2009Yahoo Answers API на PHP
Есть такая замечательная штука у некоторых веб-сайтов, как 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). Подробности читайте в файле.


