Общие друзей как понять. Как формируется список друзей «ВКонтакте»

Привет, хабраюзер.
Однажды у меня возникла необходимость найти человека, зная его внешний вид и зная о его членстве в определенном клубе. Также я владел адресами(вконтакте) страниц двух других членов клуба. Почти наверняка искомый человек был у каждого из них в друзьях. Решить эту проблему можно было разными путями. В статье я напишу о том, как мной было реализовано решение с использованием vk.com API.
1.Задача
Сделать сервис, который будет находить всех общих друзей двух отдельно взятых пользователей, не требуя верификации и аккаунта в социальной сети для пользователей сервиса. Получить данные об общих друзьях:
  • фотография
Реализовать задание на базе API вконтакте. Написать отельный класс для этого.
2.Решение
2.1.Определяем необходимые методы API
Заходим в список методов API. И поискав, находим то, что нам нужно.

Для получения друзей пользователя есть метод friends.get .
friends.get - возвращает список идентификаторов друзей пользователя или расширенную информацию о друзьях пользователя (при использовании параметра fields).

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

Обязательный параметр только один:

Используя данный метод, можно получить информацию обо всех друзьях каждого из двух наших множеств, но такой подход не будет оптимальным. Пользователь А может иметь 2000 людей в друзьях, пересекаться с друзьями пользователя В будут только 3 человека. В таком случае информация о 1997 пользователях будет нам ненужной, и ресурсы, затраченные на её получение, будут потрачены впустую.
Мы будем запрашивать исключительно идентификаторы пользователей, и получив нужные нам номера(которые принадлежат множеству А и В), уже по ним выбирать информацию.

Для получения информации о пользователе есть метод users.get .
users.get - Возвращает расширенную информацию о пользователях.

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


В user_ids мы передадим массив идентификаторов пользователей, которые встречаются в обоих множествах.
Мы хотим получить только аватар размером 100*100, для этого в параметре fields передадим значение photo_100.

2.2.Переходим к практической стороне
Я написал простой класс на php:

Class VkFriends { public function clean_var($var) { $var = strip_tags($var); $var = preg_replace("~\D+~", "", $var); $var = trim($var); return $var; } public function get_friends($u_id) { $friends = file_get_contents("https://api.vk.com/method/friends.get?user_id=".$u_id); $friends = json_decode($friends); if(!isset($friends->error)){ return $friends; }else{ return ""; } } public function mutual_friends($friends) { $mutual = array_intersect($friends->response, $friends->response); if(!empty($mutual)){ return $mutual; }else{ return ""; } } public function get_users_info($users) { $u_ids = implode(",",$users); $u_info = file_get_contents("https://api.vk.com/method/users.get?user_ids=".$u_ids."&fields=photo_100"); $u_info = json_decode($u_info); return $u_info; } public function view_user_info($u_info) { $uid = $u_info->uid; $first_name = $u_info->first_name; $last_name = $u_info->last_name; = $u_info->photo_100; print("

"); } public function view_users_info($users_info) { for($i=0;$iresponse);$i++){ $this->view_user_info($users_info->response[$i]); } } }

Теперь смотрим на наш класс в действии:

$vkf = new VkFriends; $u_id = $vkf->clean_var($_POST["u1"]);//clean variables from POST $u_id = $vkf->clean_var($_POST["u2"]); if(($u_id!="")&&($u_id!="")){ echo "

"; $friends = $vkf->get_friends($u_id);//getting friends list from user with u_id $friends = $vkf->get_friends($u_id); if(($friends!="")&&($friends!="")){ $mutual = $vkf->mutual_friends($friends);//create new array from intersect arrays if($mutual!=""){ $users_info = $vkf->get_users_info($mutual);//getting info about users that are mutual $vkf->view_users_info($users_info);//view information about selected users }else{ print("

Наверное, многие из нас замечали ВКонтакте вкладку «Возможные друзья» , но не каждый знает для чего она и как работает. Именно об этом и пойдет речь в данной статье.

Давайте взглянем, как выглядит вкладка «Возможные друзья» , возможно кто-то ее не замечал.

А многие ли, из тех, кто о ней знает, догадались, как работает эта функция, и по какому принципу она определяет людей, с которыми мы, возможно, знакомы? Все очень просто. Откроем этот раздел и изучим его детальнее. Сделав это вы заметите, что большинство людей, которые там находятся — это те, с которыми мы общались, но не добавляли в друзья, либо у нас с ними есть общие друзья. Теперь уже немного понятнее каким образом работает данная функция, но это не все.

Сначала данный список формируется, основываясь на людях, с которыми у вас есть общие друзья. Далее это целая цепочка. Выискиваются те пользователи, у которых в профиле указан тот же город, что и у вас, та же работа и прочие факторы. То есть, это умный алгоритм, который постоянно обновляет список ваших возможных друзей. Допустим, вы добавили кого-то в друзья и сразу же, из списка его друзей, найдутся те, у кого есть общие с вами друзья, и они будут предложены вам, как ваши возможные знакомые. Вот весь принцип работы раздела «Возможные друзья» .

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

Заключение

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

Социальная сеть ВКонтакте – это именно то место, где мы переписываемся с друзьями, слушаем любимую музыку, смотрим различные видео, а также находим новых знакомых, друзей и даже вторую половинку. Существуют даже некие неписаные правила о том, кто кому первый должен писать, кто к кому первый добавляться и так далее.

После очередного знакомства с человеком, первое, что мы все делаем – заходим в любимую социальную сеть и пытаемся найти его или ее профиль. Но, к сожалению, сделать это порой довольно непросто. Самый надежный способ – это поиск через общих друзей. И в этой статье мы расскажем, как найти общих друзей в Контакте и как правильно и максимально быстро это сделать.

Поиск через «Мои друзья»

Согласно теории шести рукопожатий, абсолютно любые два человека на земле разделены не более чем пятью знакомыми, и, соответственно, между ними имеется не более шести уровней связей. Таким образом, вполне вероятно, что человек, с которым вы познакомились недавно, знаком с кем-то из ваших друзей в ВК. Поэтому вполне логично искать человека в списках друзей ваших друзей. Но ведь если проверять каждого, на это, скорее всего, уйдет просто уйма времени, не так ли?

Итак, чтобы не тратить свое время и нервы, нужно проделать нижеописанные действия. Сначала нужно зайти в раздел «Мои Друзья». Затем следует ввести фамилию или имя человека, которого нужно найти. В подразделе «Другие пользователи» сперва будут отображены люди из списков друзей ваших друзей в ВК. Таким образом, если человек есть у кого-то из списка ваших друзей, он будет отображен на первых местах. А далее расположатся все остальные пользователи социальной сети с таким же именем или фамилией.

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

Возможные друзья

Еще один надежный способ поиска общих друзей в ВК – это воспользоваться специальным поисковым разделом под названием «Возможные друзья». Чтобы сделать это, нужно перейти по данной ссылке: http://vk.com/friends?act=find. Там будет отображен список тех пользователей, с которыми у вас есть общие друзья, что делает вероятным тот факт, что вы также знакомы с ними. При этом там будет указано точное количество общих друзей. Например, «Ольга Иванова. У вас с Ольгой 12 общих друзей».

В разделе «Возможные друзья» вы также можете сразу добавить человека в свой список друзей, если это потребуется. Нет необходимости для этого заходить к ней/нему на страницу. Под фразой «У вас с Ольгой 12 общих друзей» есть кнопка «Добавить в друзья», нажав на которую вы отправите заявку пользователю.

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

Иногда очень интересно посмотреть, кого ваш друг добавляет в друзья в социальной сети Вконтакте. Кто-то хочет узнать, с кем заводит дружбу его жена, кому-то не безразличен круг общения собственных детей. Подобных причин множество. Раньше эту информацию нельзя было узнать, сегодня это сделать несложно. Эта статья расскажет вам – как узнать в ВК, кого добавил друг в друзья, а также что еще можно увидеть на странице друзей.

Для того, чтобы просмотреть интересующую нас информацию о друзьях, воспользуемся просмотром обновлений на сайте.

Обновления ВК предоставляют различную информацию пользователю: какие фото были загружены в , в которых вы состоите, что происходит на страницах, на которые вы подписаны и прочее.

Для открытия поиска по именам нажмите комбинацию Ctrl+F и введите словосочетание, которое является именем, а в некоторых случаях псевдонимом, нужного человека. Но есть условия, при которых данный способ не будет работать. Пользователь, который нам интересен, может отказаться от показа в новостной ленте друзей, которых он добавляет в своих настройках. Но благо далеко не все пользователи знают об этой настройке, поэтому ее используют крайне редко. Чтобы это сделать, нужно зайти в раздел – приватность. И удалить соответствующие галочки.

Важные друзья на странице друга в Вконтакте

Не все пользователи знают, что размер списка друзей имеет ограничения – 10 тысяч. Хотя у большей части список не превышает 300 человек. Возможно вы задумывались когда-нибудь каким образом распределяются друзья в нем? Просмотрев свою страницу, можно легко понять, что в топе у вас находятся те, с кем вы чаще всего общаетесь. Но бывают случаи, когда на вершине оказывается человек, с которым вы давно уже не общаетесь. Это аккаунты, которые вы чаще всего посещали, комментировали и просматривали фото. Также в топ попадают недавно добавленные друзья, если ваша активность будет спадать на их странице, они будут опускаться по списку вниз.

Но открыв страницу вашего друга, вы заметите, что друзья на ней распределяются иначе. На первом месте будете стоять вы. Далее располагаются общие друзья с этим пользователем, чем больше общих друзей у пользователя в списке, тем выше находится этот пользователь в списке вашего друга. Когда общие друзья закончатся, пользователи будут размещаться в списке у друга по дате регистрации в ВК. Поэтому важность друзей в списке вашего друга обычным способом узнать нельзя. Это говорит о том, что конфиденциальность пользователей важна для социальной сети.

Как посмотреть фотографии, которые друг закрыл для общего просмотра?

Закрытые фото можно просмотреть благодаря нововведению сервиса «Ускоренный режим просмотра фотографий».

Такой способ возможен по причине «кривой» разработки этой функции программистами ВК. Скорее всего, этот «баг» в будущем будет исправлен, а пока можно пользоваться.

Доступ к закрытым разделам друга в ВК

Одна из самых популярных и интересных тем – доступ к закрытым страницам и разделам в ВК. Иногда друзья закрывают разделы на своей странице, например: аудиозаписи или фотографии. Но все же понимают, закрыл – значит что-то интересное. Удовлетворить свою любопытность можно с помощью небольших манипуляций с адресной строкой браузера на странице Вконтакте.

Каждый пользователь имеет свой ай-ди (ID). Кто еще не знает что такое ID – это уникальны номер, который закрепляется за каждым пользователем. В строке браузера он выглядит так: https://vk.com/id356849341. Каждый раздел имеет свое название в строке, после главного домена и слеша. Например, выглядит так: https://vk.com/audios. Совместив ID друга и название раздела в строке браузера, мы получим доступ к закрытому разделу. Таким образом, можно получить доступ к любому закрытому профилю и разделу, комбинирую название разделов латиницей и номер пользователя.

Вконтакте

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то