Недавно, работая над одним своим проектом мне пришлось решать задачу по удаленному взаимодействию с различными популярными веб-ресурсами. Из их числа были такие сайты как 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 для определенного пользователя.
Удачного вам использования!
qqqs ads a dasd sa
Не хочется показаться банальным…но спасибо за пост,я реально учусь на блогах знающих людей
Не хочется показаться банальным…но спасибо за пост,я реально учусь на блогах знающих людей
Блин, скопировался предыдущий пост почему-то 0_о Спасибо за пост, думаю применю на своём сайте!
А к простому С эта библиотечка никак?