Google API или что скрывается за кулисами

Posted Friday, Augu 29, 2008 under Google, J2EE, Java.

google-api Недавно, работая над одним своим проектом мне пришлось решать задачу по удаленному взаимодействию с различными популярными веб-ресурсами. Из их числа были такие сайты как Youtube, Gmail, GoogleReader, Flickr и другие не менее известные. Первая проблема, с которой мне пришлось столкнуться это то, что все ресурсы поддерживают разные протоколы, из их числа стандартная тройка: REST, XML-RPC, SOAP. Вторая проблема, а скорее просто настоящее занудство – это написание клиентов к каждому из этих сайтов. Удручающее мероприятие, не правда ли? И если на архитектурном уровне первая проблема решается парой паттернов типа Adapter и Factory, то со второй все обстоит гораздо менее приятно.В данном случае, нелегкую судьбину девелопера поможет спасти замечательный Google API. Честно сказать, до этого момента у меня было достаточно скептическое и поверхностное мнение о Google API. В большей степени потому, что попросту не сталкивался с подобными задачи, ну и не проявлял лишний интерес.Переходя от лирики к сути заметки хочется прояснить в перую очередь, что же поддерживает GoogleAPI, с какими сервисами позволяет работать и что в себя включает.Прежде всего список поддерживаемых сервисов:

И значете что? Доступ ко всем этим прелестям вы можете получить уже прямо сейчас, скачав всего лишь одну библиотеку. Библиотека, представляющая из себя в полном смысле слова КЛИЕНТ, доступна для таких платформ:

  • Java
  • .NET
  • PHP
  • Python
  • Objective-C
  • JavaScript

Работать с ней очень просто. Ниже приведу пример работы с YouTube:

public class YouTubeServiceDelegate {    private static final String CLIENT_ID = "Your client ID here";    private static final String DEVELOPER_KEY = "Your developer key here";    private static final String USER_SPECIFIC_URL        = "http://gdata.youtube.com/feeds/api/users/{userId}/uploads";    public VideoFeed getVideosByUserId(String userId)        throws YourException {        YouTubeService service =
            new YouTubeService(CLIENT_ID, DEVELOPER_KEY);        VideoFeed videoFeed = null;        try {            videoFeed = service.getFeed(new URL(                USER_SPECIFIC_URL.replace("{userId}", userId)),                VideoFeed.class);        } catch (IOException e) {            throw new YourException("Say something");        } catch (ServiceException e) {            throw new YourException("Say something");        }        return videoFeed;        }}

Приведенный выше простейший класс демонстрирует как легко и просто получить список загруженного видео с YouTube для определенного пользователя.Удачного вам использования!

Leave a Reply

Распечатать
Поделиться
Twitter It!

Статья относится к