Использование сторонних интерфейсов программирования приложений на примере интерфейсов прикладного программирования социальных сетей Facebook и Twitter
Работа с различными типами API на примере социальных сетевых сервисов Facebook и Twitter. Использование Facebook Graph API для получения данных из социального графа Facebook. Схемы работы Streaming и REST типов API. Интерфейсы программирования приложений.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 28.07.2017 |
Размер файла | 132,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Омский государственный технический университет
Использование сторонних интерфейсов программирования приложений на примере интерфейсов прикладного программирования социальных сетей Facebook и Twitter
А.Г. Янишевская
М.А. Чурсин
В современном обществе важную роль играют сетевые социальные сервисы. Крупнейшие корпорации мира считают неотъемлемой частью своей внешней политики использование twitter. Не редки случаи, когда районные отделения полиции заводили себе свой instagramm. При появлении всего этого разнообразия сервисов закономерным стало появление людей, желающих воспользоваться данными в своем приложении или же просто размещать свою ленту социальной сети у себя на странице. Заметив в этом социальную выгоду, разработчики облегчили доступ к своим данным выпуском интерфейсов программирования приложений.
Интерфейсы программирования приложений (Application programming interface, API [эй-пи-ай], далее API) социальных сервисов можно разделить на два типа:
API, предоставляющие непосредственный доступ к данным на серверах сервиса,
Streaming-API, раздающие все новые данные в режиме реального времени.
Рассмотрим особенности работы с обоими типами на примере API таких крупных сервисов как Facebook и Twitter.
Facebook Graph API и FQL
Graph API является основным способом для получения данных из социального графа Facebook. Это API низкого уровня, который можно использовать для запроса данных, создавать новые данные, загружать фотографии и множество других задач.
Graph API назван в честь идеи “социального графа” - представление информации о Facebook, состоящей из:
узлов (Nodes) - базовые понятия, такие как пользователь, фотография, страница, комментарий,
ребер (edges) - связи между этими "узлами", например фотографии на странице, или фото автора комментария,
полей (fields) - информация о параметрах узлов, например, день рождения пользователя, или заголовок страницы).
Facebook Query Language (далее FQL) - позволяет делать запросы в SQL стиле запрашивать данные. Это предоставляет расширенные возможности, недоступные в Graph API.
Запросы имеют вид SELECT [fields] FROM [table] WHERE [conditions]. В отличие от SQL, FQL FROM может содержать только одну таблицу. Хотя и возможно использовать ключевые слова в SELECT или WHERE, но подзапросы не могут ссылаться на переменные из области внешнего запроса. Запрос также должен быть индексируемым, это означает, что он должен запрашивать поля, которые помечены как проиндексированные.
FQL может обрабатывать простую математику, основные булевые переменные, логические И ИЛИ НЕ, а так же ORDER BY и LIMIT.
Несмотря на кажущееся удобство использования данных непосредственно с сервера социального сервиса это накладывает ряд существенных ограничений, начиная с элементарной задержки выполнения запросов, связанных с загрузкой сетевого-канала, заканчивая сложностью отладки из-за отсутствия прямого доступа к базам данных. Также если рассматривать этот конкретный пример, важным недостатком является ограничение на связывание таблиц при запросе, что может также стать серьезной проблемой при разработке сложных приложений.
Twitter streaming api
Набор потоковых API, предлагаемых Twitter дают разработчикам низкий уровень задержки в получении глобального потока данных из Tweet. Получение клиентом потоковых данных характеризуется отсутствием каких-либо накладных расходов, связанных с опросом базы данных самого twitter.
Twitter предлагает несколько типов стриминга данных, каждый из которых подходит для конкретных случаев.
Public streams -- Потоки открытых данных, проходящих через Twitter. Подходит для отслеживания твитов всех пользователей, а также для простого анализа данных.
User streams -- поток данных одного пользователя.
Site streams -- многопользовательсая версия User streams. Этот тип предназначен для серверов, которые должны подключаться к Twitter от имени многих пользователей.
Различия между Streaming и REST.
Передача репрезентативного состояния (англ. Representational State Transfer, далее REST) -- стиль построения архитектуры распределенного приложения.
Подключение к streaming API требует поддержания постоянного соединения HTTP открытым. Во многих случаях это заставляет смотреть на работу вашего приложения иначе, чем в случае, если бы это было взаимодействие с API REST. Для примера рассмотрим веб-приложение, которое принимает запросы пользователей, делает один или несколько запросов в twitter API, и печатает результат для пользователя, в качестве ответа на первоначальный запрос. Схема работы такого приложения изображена на рис. 1.
Рис. 1. Схема работы с REST API
Приложения, которое подключается к Streaming API, не смогут установить соединение в ответ на запрос пользователя, как показано в приведенном выше примере. Вместо этого код для поддержания соединения Streaming, как правило, выполняются в процессе отдельно от процесса, который обрабатывает HTTP запросы. Схема работы Streaming приложения изображена на рис. 2.
Рис. 2. Схема работы с STREAMING API
В итоге сервис получает все входные твиты и сам выполняет любой их анализ, фильтрацию, и/или агрегацию необходимую перед сохранением результата в хранилище данных. Хотя эта модель является более сложной, чем в первом примере, преимущество от того, что поток идет в реальном времени упрощает интеграцию twitter в любое приложение.
Различие в способе предоставления данных целевыми сервисами приводит к тому, что для каждого сервиса приходится использовать отдельный метод получения данных. Это замедляет работу, увеличивает стоимость разработки, так как требуются специалисты, разбирающиеся в особенностях каждого сервиса, а также способные построить эффективную модель соотношения данных поступающих разными способами.
Литература
интерфейс программирование сетевой сервис
1. Литвинов С.В. Профессиональная социальная сеть «Сообщество пользователей уникальным научным оборудованием». Инженерный вестник Дона, 2015, № 2 URL: ivdon.ru/ru/magazine/archive/n1e2010/172.
2. Литвинов С.В., Носко В.И. Модели инсорсинга уникального научного оборудования на базе профессиональных социальных сетей // Инженерный вестник Дона, 2015, № 2 URL: ivdon.ru/ru/magazine/archive/n3y2010/219.
3. Facebook developers. Facebook Query Language (FQL) Reference, 2012, URL: developers.facebook.com/docs/reference/fql/.
4. Twitter developers. Twitter The Streaming APIs, 2014, URL: dev.twitter.com/docs/api/streaming.
5. Jesse Russel, Ronald Kohan Web API. Bookvika publiching, 2012. 140 p.
6. Leonard Richardson, Mike Amundsen, Sam Ruby RESTful Web APIs. O'Reilly Media, 2013. 406 p.
7. Kevin Makice Twitter API: Up and Running. O'Reilly Media, 2009. 414 p.
8. Matthew A. Russell 21 Recipes for Mining Twitter. O'Reilly, 2011. 72 p.
9. Mario Scheliga Facebook-Anwendungen programmieren. O'Reilly, 2011. 464 p.
10. Ido Green Web Workers. O'Reilly, 2012. 58 p.
Размещено на Allbest.ru
...Подобные документы
Методика интеграции аутентификации на web-сайте через социальные сети. Проектирование интерфейсов основных классов программ, осуществляющих взаимодействие между библиотеками OAuth социальных сетей Facebook и Twitter с использованием шифрования SSL.
дипломная работа [3,0 M], добавлен 08.01.2014Понятие и внутренняя структура, популярность и распространение Facebook, основные этапы его организации и развития в сети Интернет. Инструкция для "чайников", основы работы в данной социальной сети. Российские совладельцы и их проекты. Акции Facebook.
реферат [549,5 K], добавлен 03.04.2015История развития и классификация социальных сетей. Характеристика наиболее популярных социальных сетей. Сети Рунета: ВКонтакте, Одноклассники, Мой круг, Мой мир (на www.mail.ru), RuSpace. Социальная сеть Facebook как лидер среди социальных сетей.
реферат [4,0 M], добавлен 23.06.2012Розгляд підходу до інтерактивного вивчення англійської мови професійного спрямування студентами-економістами з використанням соціальних мереж. Характеристика різноманітних видів діяльності в соціальних мережах Twitter, Facebook, YouTube, Wikipedia.
статья [20,6 K], добавлен 27.08.2017Изучение понятия социальных сетей. Классификация социальных сетей по тематике и по форме общения их аудитории: общетематические, специализированные, глобальные, мультимедийные, блоги, микроблоги. Facebook - одна из самых популярных социальных сетей.
презентация [405,6 K], добавлен 05.06.2013Использование скриптового языка программирования для разработки web-приложений (сценариев). Изучение основ объектно-ориентированного программирования в языке PHP. Ознакомление со специальными методами для работы с классами. Назначение интерфейсов.
контрольная работа [25,1 K], добавлен 14.03.2015- Разработка группы и страницы в социальной сети Facebook на основе сайта "Программы двойных дипломов"
Раскрутка сайта: черные, серые, белые методы продвижения. Сохранение позиций и поддержка результатов продвижения. Оценивание интернет-ресурса "Программы двойных дипломов", его структура. Перспективы использования объектов Facebook для данного сайта.
курсовая работа [5,6 M], добавлен 15.09.2014 Разработка графического редактора для рисования двухмерной и трехмерной графики, используя язык программирования Java и интерфейсы прикладного программирования Java 2D и Java 3D. Создание графического редактора 3D Paint. Основные методы класса Graphics.
курсовая работа [197,5 K], добавлен 19.11.2009Інтернет як комунікаційний канал. Соціально-комунікаційні ознаки електронних соціальних ресурсів та методологія їх дослідження. Специфіка функціонування Facebook, Twitter, Вконтакте, LiveJournal та їхня трансформація у "замінники" традиційних медіа.
дипломная работа [409,0 K], добавлен 14.07.2013История создания и развития крупнейших социальных сетей в интернете. Анализ роста количества рекламы в них. Принципы построения рейтинга популярности. Опасности, которые они несут для человека и возможность использования его конфиденциальной информации.
реферат [411,6 K], добавлен 19.01.2015Основные приемы работы в среде программирования Delphi. Особенности технологии создания простейших приложений. Работа с компонентами среды разработки приложений. Ввод, редактирование, выбор и вывод информации. Аспекты использования структуры ветвления.
методичка [619,9 K], добавлен 17.11.2011Мониторы на электронно-лучевых трубках. Типы матриц жидкокристаллического монитора. Проекторы на основе DLP- технологии. Принцип действия лазерных проекторов. Типы видеокарт компьютера. Интерфейсы программирования приложений. Виды видео интерфейсов.
курсовая работа [1,3 M], добавлен 25.03.2015Характерные особенности социальной сети. Описание социальных сетей "Facebook", "Вконтакте", "Одноклассники". Разработка собственного подобного сайта, с регистрацией профилей, загрузкой изображений, отправкой сообщений, поиском, разграничением приватности.
курсовая работа [1,9 M], добавлен 30.01.2014Применение языков программирования в web-разработках. Создание документа с поддержкой гипертекста с помощью HTML. Использование JavaScript для программного доступа к объектам приложений. Perl - процедурный язык программирования; псевдообъектный язык PHP.
курсовая работа [260,9 K], добавлен 07.07.2013Вопросы программирования в Maple версий 6-11 и разработка приложений. Рассматривает эффективные приемы программирования и разработки приложений для многих разделов техники, математики, физики, для решения которых пакет не имеет стандартных средств.
монография [4,8 M], добавлен 13.03.2008Архитектура программируемых логических контроллеров - промышленных компьютеров. Устройство вспомогательных интерфейсов. Разнообразие сетевых интерфейсов и коммуникационных модулей. Изучение среды программирования контроллеров фирмы Siemens Step7.
презентация [1,0 M], добавлен 06.08.2013Разработка родительского компонента для дальнейшего использования при создании приложений "Editip". Иерархия классов и интерфейсов. Применение в качестве инструмента исполнения среды программирования Microsoft Visual Studio.NET. Блок-схемы алгоритмов.
курсовая работа [1,5 M], добавлен 08.02.2011Использование социальных сетей и медиа компаниями. Программа исследования факторов подписки на официальные аккаунты брендов в Twitter и Instagram. Применение мобильного Интернета целевыми группами российских потребителей. Тестируемые гипотезы и модель.
дипломная работа [2,9 M], добавлен 30.12.2015Интерфейс API, реализация функций API на уровне ОС, системы программирования и с помощью внешних библиотек. Характеристики сетевого интерфейса прикладного программирования Winsock, особенности его применения в операционных системах UNIX и Windows.
контрольная работа [74,2 K], добавлен 04.06.2015Исследование возможностей и областей использования языка программирования JavaScript. Сравнительный анализ языков программирования JavaScript и PHP. Разработка интерактивного Web-приложения на примере теста по теме "Программирование на языке Delphi".
практическая работа [26,0 K], добавлен 04.02.2015