УДК 004.738.52(062) Д.Д. БОРОВСКИЙ, Е.В. ОЛЬКИНА D.D. BOROVSKI, E.V. OLKINA

advertisement
УДК 004.738.52(062)
Д.Д. БОРОВСКИЙ, Е.В. ОЛЬКИНА
D.D. BOROVSKI, E.V. OLKINA
АНАЛИЗ ПРОГРАММНЫХ СРЕДСТВ ВЗАИМОДЕЙСТВИЯ ВНЕШНИХ
ПРИЛОЖЕНИЙ С СОЦИАЛЬНОЙ СЕТЬЮ ВКОНТАКТЕ
SOFTWARE ANALYSIS OF INTERACTION BETWEEN EXTERNAL
APPLICATIONS AND SOCIAL NETWORK VKONTAKTE
Статья посвящена анализу программных средств взаимодействия внешних приложений с социальной
сетью ВКонтакте. Показано, что в последнее время социальные сети всё активнее начинают
интегрироваться с различными web – сервисами. Некоторые крупнейшие социальные сети создали платформу
для привлечения разработчиков третьих фирм для создания новых сервисов поверх социальных сетей. В
частности, ВКонтакте разработала такую платформу, к которой разработчики третьих компаний могут
писать приложения, которые будут бесшовно интегрироваться в социальной сети ВКонтакте.
Рассматривается общий алгоритм работы и актуальность применения данных приложений.
Ключевые слова: анализ данных социальных сетей, социальная сеть ВКонтакте, интерфейс
программирования приложений ВКонтакте, внешние приложения для социальной сети ВКонтакте, вебсервис.
The article is devoted to the software analysis of interaction between external applications and social network
VKontakte. It is shown that in recent times, social networks are increasingly being integrated with various web services.
Some of the largest social network has created a platform to attract third party developers to create new services on top
of social networks. In particular, VKontakte has developed a platform, to which the third-party developers can write
applications that will seamlessly integrate in the social network Vkontakte. Examines the general algorithm and the
relevance of these applications.
Keywords: data analysis of social networks, social network VKontakte, API VKontakte, external applications
for the social network VKontakte, web-service.
С ростом популярности социальные сети собирают все больше данных о
пользователях и связях между ними – главной составляющей подобных систем – которые
представляют огромный интерес для анализа.
В последнее время социальные сети всё активнее начинают интегрироваться с
различными web – сервисами. Одна из крупнейших социальных сетей Вконтакте создала
платформу для привлечения разработчиков третьих компаний для создания новых сервисов
поверх социальных сетей, с возможностью писать приложения, которые будут бесшовно
интегрироваться в данной социальной сети[1].
На базе платформы ВКонтакте можно создавать приложения, с помощью которых
можно будет непосредственно взаимодействовать с данной платформой используя API.
Прежде чем приступить к работе с API необходимо создать приложение, от имени
которого будут выполняться все действия, например, получение списка друзей, списка
интересов.
Для создания приложения необходимо перейти в соответствующий раздел API
Вконтакте для создания приложений. На странице создания приложения необходимо ввести
название вашего приложения и выбрать тип "Standalone-приложение". Выбираем Standaloneприложения, так-как именно оно предназначено для компьютеров и смартфонов. После
создания приложения будет получен идентификатор приложения, который и будет
использоваться в запросах к API.
Для доступа к API ВКонтакте из любого Standalone-приложения предусмотрен
механизм клиентской авторизации на базе протокола OAuth 2.0. В качестве клиента может
выступать любое Desktop/мобильное приложение, имеющее доступ к управлению Webбраузером.
Процесс авторизации приложения происходит на базе протокола OAuth 2.0 и состоит
из 3-х шагов:
1. открытие диалога авторизации Oauth;
2. разрешение пользователем доступа к своим данным;
3. передача в приложение ключаaccess_tokenдля доступа к API.
Далее каждый шаг рассмотрим подробнее.
Открытие диалога авторизации Oauth:
Для начала процесса авторизации необходимо сделать следующий запрос с
параметрами по адресу:
https://oauth.vk.com/authorize?client_id=APP_ID&scope=SETTINGS&
redirect_uri=REDIRECT_URI&display=DISPLAY&response_type=token
Описание параметров:

APP_ID – идентификатор приложения;

SETTINGS – запрашиваемые права доступа приложения (таблица 1);

DISPLAY – внешний вид окна авторизации (page, popup, touch, wap);

REDIRECT_URI – адрес, на который будет передан access_token (необходимый
параметр, для отправки последующий запросов к API Вконтакте).
Так как мы используем Standalone-приложение и есть параметр response_type =
"token",
то
в
качестве
параметра
redirect_uri необходимо
указывать
адрес https://oauth.vk.com/blank.html, на который будут переданы данные авторизации.
Таблица 1 – Права доступа
Название
notify
friends
photos
audio
video
docs
status
groups
messages
notifications
ads
offline
Описание
пользователь разрешил отправлять ему
уведомления
доступ к друзьям
доступ к фотографиям
доступ к аудиозаписям
доступ к видеозаписям
доступ к документам
доступ к статусу пользователя
доступ к группам пользователя
доступ к расширенным методам работы с
сообщениями
доступ к оповещениям об ответах
пользователю
доступ к расширенным методам работы
с рекламным API
доступ к API в любое время со стороннего
сервера
Разрешение пользователем доступа к своим данным:
После успешного запроса необходимо авторизовать приложение, подтвердить доступ
к необходимым настройкам, запрошенным при помощи параметра scope.
Передача в приложение ключа access_token для доступа к API:
После успешной авторизации приложения пользователь будет перенаправлен по
адресу REDIRECT_URI, указанному в параметрах запроса авторизации. При этом ключ
доступа к API access_tokenи другие параметры будут передана в URL – фрагменте ссылки:
http://REDIRECT_URI#access_token=533bacf01e11f55b536a565b57531ad114461ae8736d
6506a3&expires_in=86400&user_id=8492
Вместе с ключом access_token так же будет указано время его жизни expires_in,
заданное в секундах. Если срок использования ключа истек, то необходимо повторно
провести все описанные выше шаги, но в этом случае пользователю уже не придется дважды
разрешать доступ. Кроме того, среди возвращаемых параметров будет указанuser_idидентификатор авторизовавшегося пользователя в социальной сети.
После успешной авторизации Вы можете осуществлять запросы к API.
Работа с API подразумевает обращение к платформе по заданному формальному
алгоритму, который используется для вызова большинства методов.
Для того чтобы вызвать метод API ВКонтакте, Вам необходимо
осуществить POST или GET запрос по протоколу HTTPS на указанный URL:
https://api.vk.com/method/'''METHOD_NAME'''?'''PARAMETERS'''&
access_token='''ACCESS_TOKEN'''

METHOD_NAME – название метода из списка функций API;

PARAMETERS – параметры соответствующего метода API;

ACCESS_TOKEN
–
ключ
доступа,
полученный
в
результате
успешной авторизации приложения.
Следует отметить, что некоторые методы доступны для вызова без
передачи access_token. В таком случае необходимо ознакомится с дополнительной
информацией о приватности и правах доступа при работе с API.
Рассмотрим пример запроса к API.
https://api.vk.com/method/users.get?user_id=66748&v=5.29&access_token=533bacf01e11f
55b536a565b57531ac114461ae8736d6506a3
Работа с API Вконтакте налагает некоторые ограничения и предусматривает
рекомендации по работе с ним.
 Со стороны клиента можно обращаться к методам API не чаще 3 раз в секунду.
При превышении этих значений сервер вернет ошибку с кодом 6: "Too many requests per
second.";
 Помимо ограничений на частоту обращений, существуют и количественные
ограничения на вызов однотипных методов. После превышения количественного лимита
доступ к конкретному методу может требовать ввода капчи, а затем может быть временно
ограничен (в таком случае сервер не возвращает ответ на вызов конкретного метода, но без
проблем обрабатывает любые другие запросы)[2].
В заключение необходимо отметить, что анализ данных из социальной сети
стремительно набирает популярность. Это открывает беспрецедентные возможности для
решения исследовательских и бизнес задач, а также создания вспомогательных сервисов и
приложений для пользователей социальных сетей.
СПИСОК ЛИТЕРАТУРЫ
1. Социальная сеть ВКонтакте [Электронный ресурс]. Режим доступа - https://vk.com.
2. API ВКонтакте [Электронный ресурс]. Режим доступа - https://vk.com/dev .
Боровский Дмитрий Дмитриевич
ФГБОУ ВПО “Госуниверситет – УНПК”, г. Орёл
Студент группы 42 - ПИ
Тел.: +7 (953) 6285746
E-mail: dmitrij.borovskij@yandex.ru
Олькина Елена Викторовна
ФГБОУ ВПО “Госуниверситет – УНПК”, г. Орёл
старший преподаватель кафедры «Информационные системы»
Тел.: +7 (953) 4752133
E-mail: olev_orel@mail.ru
Download