Добрый день. В данном посте хотелось бы разобрать сервис по просмотру общих друзей и общих участников групп в vk.com. Так же хочу рассказать с чем я столкнулся при прохождении модерации в каталог приложений.
И так чтобы добавить свое приложение в vk.com, его нужно сначала создать.
Содержание:
- I. Настройка проекта и немного о первом запросе к API
- II. Основные моменты реализации на JS
- III. Проходим модерацию в каталог приложений
- Исходники и примеры
I. Настройка проекта и немного о первом запросе к API
После того как мы создали iframe приложение, мы должные его настроить. Зайдем в настройки приложения.
Первый запрос я передаю для того, чтобы при запуске приложения VK.COM сразу же вернул мне, с помощью GET параметра api_result, подробные данные о пользователе зашедшем в приложение.
Первый запрос к API:
method=users.get&user_ids={viewer_id}&fields=photo_50&format=json&v=5.28
II. Основные моменты реализации на JS
Трудности в реализации могли возникнуть на моменте получения участников группы, VK API возвращает за один запрос не более 1000 участников. Если запрашивать по 1 такому запросу, то процесс получения списка участников будет очень долгим. Решил я эту проблему применив код описанный в моей предыдущей статье, с помощью которого за раз можно получить 25 000 участников.
Так же хотелось бы объяснить почему для пользователей VK я не применил готовый метод friends.getMutual, возвращающий список идентификаторов общих друзей между парой пользователей… Дело в том, что сервис работает не только с пользователями, но и с группами, поэтому было бы лишним делать кучу обработок например, если один пользователь и одна группа. Да можно ото обработать, и это даже ускорит работу в некоторых случаях.
Все методы в статистике запросов к API работают без ошибок, кроме метода utils.resolveScreenName, это связано с тем, что пользователи вводят в поле ввода неверные ссылки.
III. Проходим модерацию в каталог приложений
Отправив готовое приложение на проверку, модератор спустя 2 дня отклонил, так как приложение не работало по HTTPS протоколу. Решил я эту проблему залив приложение со своего сервера на сервер github, работающий по протоколу HTTPS.
Необходимо подключить сертификат безопасности. см. http://habrahabr.ru/company/tuthost/blog/150433/
Я отправил заявку повторно и получил одобрение.
Исходники и примеры
Исходники: https://github.com/romkagolovadvayha/romkagolovadvayha.github.io/tree/master/vkAPPfriendmutual
Пример, одобренное приложение vk: http://vk.com/mutual_participants_and_friends
Автор: dooza
ссылка на приложение недействительна