Vk api кто онлайн

В данном посту опишу пример использования API метода вконтакте users.search и, чтобы было интереснее, приложение будет определять самый холостяцкий факультет в Новосибирском государственном университете. Обычно считается, что обучение на определенном факультете откаладывает на поведении человека некоторый отпечаток.

Попробуем выяснить влияет ли как-то факультет на семейное положение на примере данных из сайта «вконтакте». Для самых нетерпеливых сразу график. По оси X — возраст, по оси Y — процент холостяков. Подсказка: по легенде можно кликать, тем самым включая или выключая график для выбранного факультета.

Выборку по возрасту взял с 21 года до 32ух лет. Для каждого возраста-факультета выбиралось общее количество человек и количество тех, у кого в статусе указано «не женат». Используя эти 2 цифры можно получить число холостых в процентах, что собственно и отображено на графике.

Как видно из графика — тенденция на уменьшение холостяков с возрастом есть почти для всех факультетов, но не сильно заметная, как ожидал. Наиболее явно это прослеживается на самом многочисленном факультете — ММФ. Но например если взять юридический факультет, то тут неожиданно обратная картина. В данном случае экономический факультет выглядит определенным углоком стабильности, количество холостяков в любом возрасте примерно 20% .

VK API friends.getOnline Как узнать кто онлайн ВКонтакте не заходя на сайт php скрипт

холостяки Физфака VK API

Меня немного удивил пик на физическом факультете при возрасте в 27 лет. Сделал соответсвующий запрос для проверки и действительно 67 из 180 холостые. (картинка кликабельна)

Ниже приведен прокомментированный код для получения данных, отображенных на графике. Из примечаний могу сказать, что сервера вконтакте обрабатывают не больше 3ёх запросов в секунду, поэтому задержка необходима (есть ещё вариант смотреть в сторону метода execute). Массив факультетов брал, используя стандартный поиск в вконтакте, подсмотрев данный параметр в url строке.

//определяем массив факультетов var departments = [ 1640, // — MMF 1641, // — FF 1642, // — ГГФ 1643, // — ФЕН 1644, // — ГФ 1645, // — ЖФ 1646, // — филосовский 1647, // — юридический 1648, // — экономический 1649, // — ФИТ 1650, // — психологии 1651, // — ИнЯз 1652 // — медицинский ] //определяем массив возрастов(по году рождения) var ages = [] for (var i=21; i // массив статусов по семейному положению 1 — Не женат, 2 — Встречается, 3 — Помолвлен, 4 — Женат, 7 — Влюблён, 5 — Всё сложно, 6 — В активном поиске. var statuses = [1/*,2,3,4,5,6,7*/] // массив всех параметров запроса к API var ALL_PARAMS = [] for (var yy in ages) < for (var ss in statuses)< for (var ff in departments)< var pp = new Object(); pp.university = ‘671’ // pp.has_photo = 1 pp.university_faculty = departments[ff] pp.sex = 2//1-women, 2-men pp.status = statuses[ss]; // pp.birth_year = ages[yy] pp.age_from = ages[yy] pp.age_to = ages[yy] pp.count = 0 ALL_PARAMS.push(pp) >> > //now works without statuses function makeChartData(num, sum)< var chartOut = [] var res_index = 0; for (var yy in ages)< var lineOut = [ages[yy]] for (var ff in departments)< if (sum[res_index] == 0)< var chartPercent = 0 >else < var chartPercent = (num[res_index]*1.)/(sum[res_index]*1.) >lineOut.push(chartPercent) res_index++; > chartOut.push(lineOut) > return chartOut; > var finalResult = []; var finalResultSum = []; var chartData = null; VK.init(function() < // API initialization succeeded // Your code here var current_param = 0; var repeatIt = setInterval(function()< if (current_param>=ALL_PARAMS.length) < //destroy interval if no more need clearInterval(repeatIt); $(‘#debug’).text( finalResult.join(«,») ) $(‘#sum’).text( finalResultSum.join(«,») ) chartData = makeChartData(finalResult, finalResultSum) $(‘#chartData’).text( JSON.stringify(chartData) ) console.log(chartData) return; >VK.api(‘users.search’,ALL_PARAMS[current_param],function(data) < if (data.response)< finalResult.push(data.response.count); console.log(finalResult) >else < //выдаст ошибку, если что-то пошло не так console.log(data) >>) //подсчитываем общее количество var qNoStatus = JSON.parse( JSON.stringify( ALL_PARAMS[current_param] ) ); qNoStatus.status = 0 VK.api(‘users.search’, qNoStatus, function(data) < if (data.response)< finalResultSum.push(data.response.count); console.log(finalResultSum) >else < console.log(data) >>) current_param++; //небольшая задержка, чтобы не заблокировали за бомбежку запросами (Too many requests per second) >, 2500); >, function() < // API initialization failed // Can reload page here >, ‘5.28’);

Еще по теме:  Как поставить ютм метку Вконтакте

Кстати у меня такое чувство, что VK следит за статистикой запросов, во всяком случае меня заблокировали после того как в программе не углядел бесконечный цикл, так что будьте внимательнее.

API для начинающих. Пример VK. [1/5]

Не следует сильно серьёзно относится к данному мини исследованию, оно лишь дает некоторое представление, так как основаны на данных, взятых из социальной сети. А она, как известно, полна ботами. Кому нужны официальные данные — добро пожаловать в росстат

Есть пожелания, комментарии, выводы по графику, идеи — пишите vk.com/id12982

Источник: zabaykin.ru

Вывод кол-ва участников группы онлайн. API

Как можно получать кол-во онлайн участников определенной группы, используя методы API? Пробовал слать запрос сюда:

пробовал слать сюда:

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

Отслеживать
34.3k 15 15 золотых знаков 65 65 серебряных знаков 93 93 бронзовых знака
задан 10 июл 2014 в 12:26
Виктор Евлампьев Виктор Евлампьев
243 9 9 серебряных знаков 21 21 бронзовый знак
что-то никто даже не ответил
10 июл 2014 в 14:33

А что отвечать? Меня всегда удивляют вопросы уровня «а как сделать XYZ?», когда вся документация по API находится в свободном доступе. BTW, зачем вы явно задаёте count=1 при том, что хотите получить количество участников? Что такое c[online] ?

10 июл 2014 в 15:30
10 июл 2014 в 15:53

Вот я и спрашиваю, вы задаёте лимит в 1, в то время как хотите получить всех пользователей, подходящих под критерий. Зачем? Дальше. c[online] — это фигня какая-то, в документации по users.search этого нет (а есть просто online=1 ).

Еще по теме:  Как увеличить картинку в ВК

10 июл 2014 в 16:03

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Вы присутствуете на сеансе художественного чтения вслух документации по методу users.search:

/* ненужное пропускаем */ online 1 — только в сети, 0 — все пользователи. флаг, может принимать значения 1 или 0 /* ненужное пропускаем */ group_id идентификатор группы, среди пользователей которой необходимо проводить поиск. положительное число

OK, тянем ручонки к клавиатуре:

$ wget -O ./vk.txt «https://api.vk.com/method/users.search?online=1access_token=не_скажу»
response: < count: 1588, items: [< id: 36084588, first_name: ‘Денис’, last_name: ‘Задворный’, screen_name: ‘denis_zoner_id36084588’, photo: ‘https://pp.vk.me/c4565/u36084588/e_23b06c97.jpg’ >, < id: 52701089, first_name: ‘Марина’, last_name: ‘Березуцкая’, screen_name: ‘marinacskaska’, photo: ‘https://pp.vk.me/c617130/v617130089/1617a/aH2v02QzbBs.jpg’ >, < id: 94260995, first_name: ‘Лили’, last_name: ‘Аксёнова’, screen_name: ‘lily_aksenova’, photo: ‘https://pp.vk.me/c616921/v616921995/152e7/NXDiIWyTaCs.jpg’ >, < id: 124237921, first_name: ‘Александр’, last_name: ‘Пимуков’, screen_name: ‘mr.alex_great’, photo: ‘https://pp.vk.me/c618518/v618518921/cb65/5NiNHdl-aZY.jpg’ >, < id: 36830566, first_name: ‘Виктор’, last_name: ‘Зубко’, screen_name: ‘idposthardcore666’, photo: ‘https://pp.vk.me/c617927/v617927566/bd23/lX1eRgC3FzA.jpg’ >] >

Источник: ru.stackoverflow.com

Как читать свои сообщения ВКонтакте через API

Я любитель использовать API для «общения» с повседневными сервисами. Например, моя статья о API Яндекс.Метрики как раз об этом: как без интерфейса получать нужные данные. Не так давно меня посетила мысль использовать API ВКонтакте, вместо привычного интерфейса. Зачем это может быть нужно?

Например, чтобы прочитать свои сообщения, при этом не заходя на страницы vk.com, а значит не появляясь онлайн. У меня вот есть социофобская черта — я не люблю появляться Вконтакте онлайн, но иногда туда приходят сообщения, и было бы неплохо иметь возможность эти сообщения читать, при этом онлайн не появляясь.

Получить доступ к API для доступа к пользовательским данным можно в 3 шага:

  1. Создание приложение
  2. Получения токена для доступа к данным от имени пользователя
  3. Запрос для получения входящих сообщений
Еще по теме:  Сколько занимает памяти приложение Вконтакте

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

Итак, первый шаг: создание своего приложения для API Вконтакте.

1 . Заходим на страницу http://vk.com/dev
2 . Выбираем «Создать приложение»

3 . Задаем название и выбираем тип «Standalone-приложение», после чего нажимаем «Подключить приложение»

4 . Потом нужно подтвердить приложение с помощью СМС-кода, отправленного на телефонный номер
5 . Приложение создано и нас встречает страница с информацией о нашем приложении

6 . Переходим на страницу «Настройки» и в поле «Состояние» выбираем «Приложение включено и видно всем»

7 . Нажимаем «Сохранить изменения»
8 . Также на этой странице нам пригодятся ID приложения (в красной рамке на изображении ниже) и защищенный ключ (и в синей рамке на изображении ниже)

Второй шаг: получение токена для доступа к данным
Этот шаг надо делать будучи залогиненным Вконтакте под тем пользователем, к данным которого нужно получить доступ.
1 . Делаем в браузере запрос https://oauth.vk.com/authorize?client_id=5086933redirect_uri=https://oauth.vk.com/blank.htmlscope=messages,offlinev=5.37, где client_id — это ID нашего приложения со страницы настроек. В параметре «scope» перечисляются права доступа нашего приложения. В нашем случае, «messages» означает, что приложение будет иметь доступ к чтению сообщений пользователя.

Разрешение «offline» дает нашему приложению доступ к данным пользователя в любое время, при этом доступ будет бессрочный. Помимо «messages» можно задать другие разрешения, которые надо также перечислять через запятую. Например, разрешение «friends» дает доступ к друзьям, тогда scope=messages,friends,offline. Про все возможные разрешения написано тут.
2 . Мы окажемся на странице, где должны разрешить созданному приложению доступ к аккаунту:

3 . Нажимаем «Разрешить»
4 . После этого нас перебросить на страницу вида https://oauth.vk.com/blank.html#code=ce72f6a9157bef81f6, где параметр code содержит верификационный код, действительный 1 час с момента его получения. Копируем этот код
5 . Делаем в браузере запрос https://oauth.vk.com/access_token?client_id=5086933redirect_uri=https://oauth.vk.com/blank.htmlhttps://www.datalytics.ru/all/kak-chitat-svoi-soobscheniya-vkontakte-cherez-api/» target=»_blank»]www.datalytics.ru[/mask_link]

Рейтинг
( Пока оценок нет )
Загрузка ...