29 августа, 2008

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 для определенного пользователя.

Удачного вам использования!


Комментариев (5) к записи «Google API или что скрывается за кулисами»: 

  1. 1 qqq

    qqqs ads a dasd sa

  2. 2 Леонид

    Не хочется показаться банальным…но спасибо за пост,я реально учусь на блогах знающих людей :)

  3. 3 nokia 5800

    Не хочется показаться банальным…но спасибо за пост,я реально учусь на блогах знающих людей :)

  4. 4 nokia 5800

    Блин, скопировался предыдущий пост почему-то 0_о Спасибо за пост, думаю применю на своём сайте!

  5. 5 cms

    А к простому С эта библиотечка никак?

Оставить комментарий