Все потоки
Поиск
Написать публикацию
Обновить
3.8

VK API *

Пишем для VK

Сначала показывать
Порог рейтинга
Уровень сложности

После логаута пользователя VK можно получить управление его страницей

Время на прочтение2 мин
Количество просмотров76K
Решил попробовать себя в работе с API Вконтакте и наткнулся на интересную особенность.

Один из способов авторизации в API — это OAuth. Вкратце всё происходит так: создаёте приложение ВК, получаете его ID, а затем отправляете браузер пользователя на адрес:

				https://oauth.vk.com/authorize"
					+ "?client_id=123"    // ID вашего приложения
					+ "&display=page"
					+ "&redirect_uri=https://oauth.vk.com/blank.html"    // URL, на который попадёт пользователь после успешной авторизации. ВК требует указания этого сайта в настройках приложения и только для приложения типа Сайт. Для остальных работает только указанный УРЛ, в целях безопасности
					+ "&scope= права доступа"
					+ "&response_type=token"
					+ "&v=5.52"
					+ "&state=123456"

Это авторизация методом Implicit flow.

Если пользователь залогинен, ему будет сразу предложено установить приложение, если нет — вначале залогиниться, а уже потом устанавливать. Если приложение уже установлено, то идёт сразу переход на страницу, в хэше которой будет токен. Дальше идёт работа с API.
Читать дальше →

Авторизация в VK для людей

Время на прочтение5 мин
Количество просмотров57K

Что случилось?


Здравствуй, дорогой читатель. Если тебе хотя бы однажды доводилось работать с API Вконтакте и при этом писать все на python, вероятно, авторизация приложения заставила тебя сделать несколько приседаний, после которых ног либо не чувствуешь и падаешь в обморок, либо вкачиваешь квадрицепс и все же пробиваешь API, как Ван Дамм.


По какой-то причине этот, казалось бы, самый непримечательный этап поначалу отнимает огромное количество сил и времени. Моя задача: помочь читателям Хабра избежать травм ног.


Далее я предлагаю рассмотреть небольшую библиотеку, позволяющую в одну строчку авторизовать свое приложение для конкретного пользователя и получить access_token. В конце статьи представлена ссылка на github-репозиторий этой библиотеки с quickstart'ом в README-файле.

Читать дальше →

1000 и 1 репост: гайд по кнопке «поделиться» в русских соц сетях

Время на прочтение6 мин
Количество просмотров30K


Недавно передо мной встала задача — провести на нашем сайте «народное голосование» за номинантов на премию в нашей отрасли (франчайзинг). В рамках народного голосования человек размещал на своей странице в социальной сети пост, рассказывающий о том, за кого именно он проголосовал. Чтобы реализовать эту задачу, мне пришлось перелопатить массу информацию о том, как именно устроен шаринг в различных соцсетях, и как лучше размещать эти самые посты. Кроме того, была создана система подсчета количества размещенных репостов.

К сожалению, большая часть информации на эту тему, которую можно найти на хабре или stackoverflow — уже устарела, поэтому я постарался превратить этот в пост в актуальный мега-гайд по шерингу страниц в соц сетях. Я рассмотрел 5 наиболее популярных в России социальных сетей: контакт, facebook, твиттер, одноклассники и мой мир. Для каждой социальной сети приведен актуальный URL для шаринга, небольшие советы и рекомендации по использованию, а также JS код, позволяющий узнать количество шеров конкретного URL в каждой из соц. сетей.

В конце статьи есть сводная таблица со всеми ссылками и кратким описанием возможностей каждой из сетей.
Читать дальше →

Обработка данных в iPython notebook для задач SEO

Время на прочтение6 мин
Количество просмотров17K
image

При выполнении аналитических задач SEO, SMM, маркетинга мы столкнулись с непомерно растущим количеством инструментов для обработки данных. Каждый заточен под свои возможности или доступность для пользователя: Excel и VBA, сторонние SEO-инструменты, PHP и MySQL, Python, C, Hive и другие. Разнообразные системы и источники данных добавляют проблем: счетчики, рекламные системы, CRM, инструменты вебмастера Яндекса и Google, соцсети, HDFS. Необходим инструмент, совмещающий в себе простоту настройки и использования, модули для получения, обработки и визуализации данных, а также работы с различными типами источников. Выбор пал на iPython notebook (с недавних пор Jupyter notebook), представляющий собой платформу для работы со скриптами на 40 языках программирования. Широкое распространение платформа получила для научных вычислений, среди специалистов по обработке данных и машинному обучению. К сожалению для автоматизации и обработки данных маркетинговых задач Jupyter notebook используется крайне редко.
Читать дальше →

AdminVK — мониторинг собственных групп Вконтакте на новые события при помощи push-уведомлений

Время на прочтение3 мин
Количество просмотров24K


У вас есть сообщество вконтакте? Бывает ли такое, что кто то написал негативный комментарий, кого-нибудь оскорбил, или просто написал отзыв о вашей компании или вопрос на который необходимо быстро ответить? Мы в PushAll написали микросервис, который позволяет получать уведомления о различных событиях в ваших сообществах. Дело в том, что Вконтакте недавно выкатил Callback API для сообществ, и мы решили им воспользоваться облачив из API в формат push-уведомлений.

Если лень читать и хочется сразу использовать — AdminVK (полностью бесплатно, неограниченное количество подключаемых групп и сообществ)

Читать дальше →

«Подсмотрено» — путь от идеи для VK Mobile Challenge до реального продукта

Время на прочтение9 мин
Количество просмотров7.9K
Три месяца драйва и сверхурочной работы. Нервное напряжение порой зашкаливало, но оптимизм не иссякал. Мы ставили перед собой непростые задачи и пытались их решить нестандартным способом. И у нас получилось.


Читать дальше →

Как я VK Mobile Challenge принял

Время на прочтение5 мин
Количество просмотров8.2K

Всем привет.

27 марта 2016 года завершился VK Mobile Challenge.
Условия конкурса можно прочитать здесь, а всем кому интересна история участия, добро пожаловать под кат.
Читать дальше →

Пишем VoIP iOS чат на CORE AUDIO для конкурса VK Mobile Challenge

Время на прочтение14 мин
Количество просмотров18K
Недавно, команда ВК объявила конкурс на разработку мобильного приложения, которое бы расширяло возможности соцсети "ВКонтакте", и я решил принять участие, так как по условиям конкурса можно придумать свою идею приложения. У меня было три идеи, и нужно было выбрать, за какую из них взяться.

image

Читать дальше →

Разработка сервиса по загрузке альбомов

Время на прочтение4 мин
Количество просмотров12K


Введение


Не так давно появилось желание скачать из альбома сообщества все изображения, поискав в интернете подходящий сервис, наткнулся лишь на платные сервисы, что мне не совсем подходило.

И вот в преддверии дня рождения, появилось время и отличное настроение для написания сервиса.
Читать дальше →

Битва роботов на Хакатоне Яндекс.Денег

Время на прочтение6 мин
Количество просмотров7.2K
11-12 марта прошел Хакатон Яндекс.Денег, в котором мы — команда Happy Santa из Санкт-Петербурга приняли участие. О победителях уже есть отдельная статья. Нашей команды там нет, так что решили рассказать Хабрасообществу о своем проекте и решениях, которые мы использовали.



Читать дальше →

Работа с ВК API при создании игры для ВКонтакте

Время на прочтение1 мин
Количество просмотров9.4K
Около полугода назад был снят часовой видеовыпуск о том, как просто написать игру для социальной сети ВКонтакте, в котором никак не затрагивалась тема использования ВК API. В этом небольшом видеокурсе я хочу показать наглядность использования ВКонтакте API для ваших будущих или текущих проектов.

Читать дальше →

Уязвимость ВКонтакте: доступ к превью фотографий из диалогов и скрытых альбомов любого пользователя

Время на прочтение3 мин
Количество просмотров108K

Коротко


Была обнаружена уязвимость в мобильной версии сайта vk.com. Она позволяла просматривать превью скрытых фотографий, в том числе фотографии из диалогов пользователей, плюс можно было получить информацию о пользователях лайкнувших это скрытое фото. На данный момент уязвимости уже нет — её устранили полгода назад. ВКонтакте выразили благодарность в размере 700$ (нет, не в голосах).
Подробнее

Хакатон по анализу открытых данных пользователей социальной сети ВКонтакте. Для школьников и первокурсников

Время на прочтение6 мин
Количество просмотров18K
" — Они очень молоды, у них все впереди, а у нас впереди — только они."
«Гадкие лебеди» А. и Б. Стругацкие

image

Привет, Хабр.

Уже более двух лет я знаком с замечательной командой, которая делает классные штуки для школьников.
Все началось с Яндекс-лагеря («Свой образовательный лагерь с покером, 3d-принтером, роботами и посадкой на Марс») где мы играли с ребятами в покер (сугубо в образовательных целях). Там я запилил «инженерную олимпиаду», где из скотча и туалетной бумаги нужно было делать функциональные объекты, притащил 3д-принтер (на котором мы пробовали печатать отмычки) и научил пару ребят, как лазить в окно ночью и мазать зубной пастой. Ах, да, еще мы написали несколько статей на Хабр, сначала под строгим присмотром, а потом самостоятельно.



На следующий год я взял в лагерь наручники и нейроинтерфейс NeuroSky.
Был конкурс на скоростное программирование в наручниках, а так же выявляли, кто дольше всех сможет протянуть в лагере, не снимая браслеты. Еще мы спаяли пояс для развития нейропластичности. «Детский лагерь: биссектрально-пифагоровы треугольники, перепрограммирование мозга, радар-детектор и взлом наручников».
А так же стартанули «пиратский» флешмоб по переводу книги от главреда WIRED (бывшего blackhat хакера) про подпольный миллиардный рынок кардеров: «Шкворень: школьники переводят книгу про хакеров».

И вот сейчас команда организаторов решила запустит хакатон (и серию лекций и воркшопов) по анализу открытых данных и нам нужны советы, идеи и гипотезы от хабрачитателей.

Под катом немного описания мероприятия и лекторов, а так же полезные материалы для подготовки к хакатону. В комментах можно предложить свои задачки, идеи и варианты гипотез на проверку. (Вспомните себя школьником, над чем вам было бы интересно поработать, если бы вы попали на подобный хакатон?)

Читать дальше →

Ближайшие события

Сравнение аудитории Хабрахабра, Гиктаймса и Мегамозга

Время на прочтение10 мин
Количество просмотров35K
Привет, Хабр!
Год назад я писал статью о том, кто и как подписан на Хабрахабр в соцсети Вконтакте. Буквально в первых же комментариях к тому посту было выражено пожелание увидеть разницу между подписчиками Geektimes и собственно Хабра. Прошел всего год и я, поборов свою лень, это желание исполняю.

На самом деле у моей медлительности были и объективные причины – в январе запустился Мегамозг, и стало очевидным, что сравнение надо делать по всем трем сайтам. А для этого необходимо было подождать хотя бы полгода с момента окончательного разделения Хабра.

В этой статье не будет очередных статистических выкладок о том, в какой день недели пост на Хабре получает наилучший рейтинг, а в какой собирает мало комментов — про это уже все сказано задолго до меня. Зато под катом мы попытаемся понять, как отличаются аудитории «хабровых» пабликов по различным параметрам (от пола до отношения к вредным привычкам), и есть ли связь между поведением пользователей в VK и на самих сайтах.


Читать дальше →

Проверка теории шести рукопожатий

Время на прочтение9 мин
Количество просмотров57K


Хочу рассказать о своем эксперименте по проверке «Теории шести рукопожатий». На написание этого материала меня вдохновила статья «Анализ дружеских связей VK с помощью Python» (чтобы избежать повторений, в дальнейшем я буду ссылаться на нее). Так как в целом задача мной была поставлена по-другому, да и использованные методы тоже отличаются, то я решил что это может быть интересно.
Читать дальше →

Как я много раз не бросил разработку своей второй игры

Время на прочтение15 мин
Количество просмотров44K

Картинка для привлечения внимания

Успокоившись после шока из-за того, что моя первая игра не взорвала интернет, я решил сделать еще одну. Первая мысль, с которой началась разработка второй игры, возникла в голове и без обдумывания стала краеугольным камнем в фундаменте игры: «если игра с бесконечным геймплеем не стала популярной, то нужно делать контенто-зависимую игру с уровнями».

Так как небольшой опыт создания игры у меня уже был, я вооружился не клавиатурой, как в прошлый раз, а карандашом и бумагой, и принялся «придумывать» игру. На разных листах А4 я записывал свои мысли по разным направлениям: игровые механики, сеттинг, интерфейс, правила, интересные мысли, запомнившиеся игры из детства и т. п.; при этом я параллельно шерстил Google Play Market в поисках вдохновения. В итоге, спустя несколько дней, было принято решение, что игра станет головоломкой, а именно — пазлом. За это время мой мозг и пальцы заскучали по программированию, в результате чего захотелось сделать хоть какой-нибудь прототип игры. Это сподвигло меня на более интенсивную проработку идеи пазла, и в итоге в качестве рабочего был принят вариант со следующими правилами: игровое поле состоит из квадратных кусочков пазла (далее они будут называться тайлами), на которых располагаются разноцветные линии; тайлы можно менять местами; цель игры: собрать пазл единственным образом, в котором линии одного цвета замкнуты в некий узор.
Продолжить создавать игру

CSRF-уязвимость VK Open Api, позволяющая получать Access Token’ы сторонних сайтов, использующих авторизацию через VK

Время на прочтение14 мин
Количество просмотров39K
Представляю вашему вниманию обзор уязвимости, связанной с неправильным применением JSONP в VK Open Api. На мой взгляд, уязвимость достаточно серьёзная, т.к. позволяла сайту злоумышленника получать Access Token другого сайта, если на нём используется авторизация через библиотеку VK Open API. На данный момент уязвимый код поправили, репорт на HackerOne закрыли, вознаграждение выплатили (1,500$).

Как это выглядело


В принципе, процесс получения пользовательского Access Token'а страницей злоумышленника происходил по стандартной схеме эксплуатации CSRF-уязвимости:

  1. Пользователь заходит на сайт, использующий библиотеку VK Open API (например, www.another-test-domain.com).
  2. Авторизуется там через VK.
  3. Потом заходит на сайт злоумышленника (например, www.vk-test-auth.com), который, эксплуатируя уязвимость, получает Access Token, принадлежащий сайту www.another-test-domain.com.
  4. Получив Access Token пользователя, злоумышленник может обращаться к VK API с теми правами, который пользователь дал сайту www.another-test-domain.com при авторизации на нем через VK.

Демонстрация


На видео показано, как страница «злоумышленника» на домене www.vk-test-auth.com получает Access Token пользователя VK, который авторизовался на сайте www.another-test-domain.com, несмотря на то, что в настройках приложения VK, доступ разрешён только для домена www.another-test-domain.com.


Читать дальше →

Исследование результатов ЕГЭ, ГИА и олимпиад для московских школ. Из каких школ в какие ВУЗы поступают

Время на прочтение4 мин
Количество просмотров33K
Месяц назад я писал про наше участие в хакатоне по открытым данным.

После хакатона мы не остановились на достигнутом, как это обычно бывает, а продолжили работу. У нас на руках оказались данные, к которым раньше имели доступ, наверное, только сотрудники Министерства образования: результаты ГИА и победы на олимпиадах за 2014-2015 год для 90% московских школ. Для 55% школ удалось собрать данные по ЕГЭ за 2015 год. Прокачали все аккаунты московских школьников в Контакте, посмотрели, какие ВУЗы они указывают у себя в профайлах после окончания.

Естественно, было интересно поизучать такой датасет. Сначала тривиальные вещи, о которых люди из образования, наверное, хорошо знают:
  • Баллы по ЕГЭ по гуманитарным предметам выше, чем по техническим. История — исключение;
  • Естественно-научные дисциплины посередине.


Читать дальше →

Swift + VK.API, или история о SwiftyVK

Время на прочтение9 мин
Количество просмотров28K


Сегодня я хочу вам рассказать о том, как однажды познакомился с языком программирования Swift и решил написать на нем приложение для социальной сети ВКонтакте под OSX (которое, к сожалению, до сих пор не закончено). С какими подводными камнями мне пришлось столкнуться при обуздании, на тот момент, нового языка и скрещивании его с VK.API. Поделиться с общественностью результатом того, во что именно все это вылилось и попытаться обосновать, зачем нужно было придумывать очередной велосипед в виде библиотеки для работы с VK.API.
Если кому-то это интересно, то добро пожаловать под кат.
Читать дальше →

Вклад авторов