Опубликован: 02.08.2013 | Доступ: свободный | Студентов: 464 / 16 | Длительность: 18:38:00
Специальности: Программист
Самостоятельная работа 9:

Работа с API веб-сервисов

Аннотация: Данная лекция посвящена работе с API веб-сервисов.

Цель работы: освоить технологию работы с API веб-сервисов

Предварительная подготовка и исследование API

Если разработчик хочет создать приложение, взаимодействующее с неким веб-сервисом, сначала следует изучить интерфейс программирования (API), который реализован на данном сервисе и позволяет организовывать взаимодействие с ним приложений. Подавляющее большинство сервисов поддерживают те или иные API, иногда речь идёт о нескольких интерфейсах, построенных с использованием различных технологий. На начальном этапе подготовки к разработке следует выяснить особенности их использования. Обычно владельцы сервисов положительно относятся к разработчикам приложений, так как такие приложения, фактически, расширяют аудиторию сервиса, расширяют его присутствие на различных платформах. В данном случае речь идёт о платформе Windows Phone.

Поэтому на веб-сайтах сервисов обычно имеется документация по их API, которая содержит много полезной информации. Для того, чтобы найти такие разделы, обычно нужно приложить некоторые усилия для их поисков, например, выполнить поисковый запрос по названию сервиса с добавлением ключевых слов "API" или "Development". Например, поиск по ключевым словам "twitter API" позволяет найти ссылку на портал разработчиков Twitter: https://dev.twitter.com/, рис. 31.1. где в разделе Documentation (Документация) можно найти интересующие нас материалы. Изучение справочного раздела сервиса Twitter позволяет узнать о том, что этот сервис поддерживает REST-API, для авторизации в сервисе используется протокол OAuth.

Начальная страница портала разработчиков Twitter

увеличить изображение
Рис. 31.1. Начальная страница портала разработчиков Twitter

Перед началом работы приложения и в Twitter, и во многих других сервисах, сначала следует зарегистрировать приложение, в частности, такая регистрация может быть автоматической, она может подразумевать модерацию, требовать ввода каких-либо сведений о приложении. Регистрация приложения в сервисах преследует цель идентификации приложения. В данном случае процедура регистрации выполняется в разделе Manage & create your application (Управление приложением и создание приложений), для запуска процесса создания приложения служит кнопка Create a new application (Создать новое приложение). После успешного завершения регистрации и получения данных, которые приложение будет использовать для авторизации в сервисе (в частности, это - Consumer key и Consumer secret), можно приступать к изучению API.

Не все вызовы веб-сервисов требуют авторизации пользователя. Например, к некоторым механизмам Twitter можно обращаться напрямую, без авторизации.

Для того, чтобы приступить к созданию приложения для Facebook, нужно начать со страницы https://developers.facebook.com. Зарегистрировавшись в этой службе и создав новое приложение, вы получите данные, необходимые для дальнейшей работы, в частности, это AppID/API key и App Secret.

У сервиса Вконтакте так же есть страница документации для разработчиков, http://vk.com/developers.php#devstep1. Здесь используется та же процедура регистрации приложения.

Интерфейс для программного доступа к службе имеется и у проекта Wikipedia, http://www.mediawiki.org/wiki/API:Main_page/ru.

Приступая к исследованию API веб-служб, следует учесть, что к разработке можно подходить двумя путями. Во-первых, можно самостоятельно изучить подробности реализации API, подготовить вспомогательные классы для работы с ним – для организации вызова API с нужными параметрами, организации разбора ответа сервера и обработки ошибок. Подобная работа может оказаться весьма трудоёмкой и в некоторых случаях, когда существуют доступные библиотеки сторонних разработчиков, предназначенные для работы с тем или иным сервисом, можно воспользоваться такими библиотеками.

Рассмотрим несколько приложений, реализующих доступ к веб-службам.