Сделать общих друзей в контакте. Алгоритм определения раздела «Возможные друзья

Привет, хабраюзер.
Однажды у меня возникла необходимость найти человека, зная его внешний вид и зная о его членстве в определенном клубе. Также я владел адресами(вконтакте) страниц двух других членов клуба. Почти наверняка искомый человек был у каждого из них в друзьях. Решить эту проблему можно было разными путями. В статье я напишу о том, как мной было реализовано решение с использованием 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("

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

Шаги

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

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

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

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

    Если вы уже встречаетесь с новым человеком, держите его подальше от общих друзей. Встреча может вызвать возмущение и будет сопровождаться негативными предрассудками, просто потому что это новая любовь. Друзья будут чувствовать, что предадут своего друга (вашего бывшего), если им понравится ваш новый партнер, который занял его место. До определенного момента держите свои новые симпатии в тайне. Дождитесь, пока “пыль рассеется”, и вы не почувствуете под ногам твердую почву, – только после этого можно пытаться познакомить общих друзей с новой симпатией.

    Говоря о ваших совместных встречах, не следует ждать того, что из пары пригласят только вас. Некоторые ваши друзья не захотят ставить перед собой непростой выбор кого приглашать, – вас или бывшего/бывшую. Вероятнее всего, они пригласят вас обоих с мыслью о том, что вы взрослые люди и сами разберетесь с ситуацией. В больших компаниях это вполне уместно, но в тесном кругу близких друзей это будет нело-о-о-вко . Избегайте таких ситуаций, напрямую задавая вопрос, будет ли на вечеринке ваш бывший/бывшая. Почти наверняка вам ответят честно. Не закатывайте истерики, заставляя приглашающего вас друга чувствовать себя виноватым. Просто выразите свои сожаления, если считаете, что на этой встрече вам обоим будет неловко: "А, ну ладно... Я, наверно, не пойду, это будет слишком тесная компания. Но ты не переживай, можно будет собраться в другой раз, когда людей будет больше, и мы сможем отвлечься". Улыбнитесь, будьте доброжелательны и поблагодарите человека за то, что он подумал о вас.

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

    • Вместо этого, спокойно и внушительно скажите что-нибудь подобное: "Знаете, ребята, во время расставания я злилась/злился, но теперь я чувствую сожаление, и мне грустно. За время отношений у нас с ним/ней было много хорошего. Несмотря на то, что теперь нужно двигаться дальше, я не жалею о времени, которое мы провели вместе. Если бы не ____(имя бывшего/бывшей), я бы никогда вас не встретил/встретила". После этого просто замолчите. Ваши друзья закивают в ответ и оценят ваши высокие моральные принципы.
  1. Позвольте времени позаботиться обо всем остальном. Расставание напоминает сломанную руку. Она ужасно болит, и вы мало что можете сделать после того, как наложили гипс, кроме единственного, – дать ей время. Все что вам остается – вытерпеть боль и справиться с изменениями, которые произошли в вашей жизни. Спустя время, если вы не будете критиковать вашего бывшего и не станете принимать участие в шутках над ним, ваши друзья поймут, что вы пережили это и двигаетесь дальше.

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

Предупреждения

  • Может выясниться, что некоторые ваши "друзья" таковыми совершенно не являются. Опасайтесь шпионов, которые тайно наблюдают за вами, собирая информацию для вашего бывшего. Это предупреждение особенно актуально, если вы проходите через развод. И в этой ситуации вы будете как никогда рады тому, что не открыли своих новых симпатий.
  • Не спешите справляться с расставанием слишком хорошо или слишком рано. Помните о том, что ваши общие друзья питают теплые чувства и к вашему бывшему. Если им покажется, что вы легко выбросили его из своей жизни, будто он был чем-то ненужным (даже если это так), друзья решат, что вы поступаете холодно и бессердечно. Сопротивляйтесь искушению похвастаться новым симпатичным парнем (новой симпатичной девушкой), и вместо этого сосредоточьтесь на чувствах друзей .
  • Любые язвительные или агрессивные замечания в адрес вашего бывшего критически снижают ваши шансы сохранить дружбу с вашими общими друзьями.

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

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

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

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

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

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

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

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

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

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

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

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

Используем группы

Зайдите Вконтакт, и перейдите в раздел «Группы» . В поиске пишем «Добавь в друзья» .

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

Либо пойти другим путем, и самому начать публиковать объявление. Сейчас я вам все покажу.

Получаем много заявок в друзья

В результатах поиска находим подходящую группу, и переходим в нее.

Сразу смотрим на стену, и ищем подходящее объявление.

Перейдите на страницу к этому пользователю, и добавьте его в друзья. В ответ он сделает тоже самое (см. ).

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

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

С помощью этого метода можно получить тысячи друзей. Моя страница — хороший пример (см. ).

Видео урок: как добавить много друзей вконтакте

Заключение

Только не отправляйте все заявки в одно время. Иначе вы рискуете получить временную блокировку страницы (см. ).

Вопросы?

Вконтакте

Многие молодые интернет-пользователи задаются вопросом: можно ли узнать в ВК список лучших друзей у своего приятеля? Либо же кто из моих друзей занёс меня в категорию важных? В данной статье, я отвечу на данные вопросы и поделюсь своим опытом в определении важных друзей у своих знакомых в социальной сети ВКонтакте. Изначально нужно разобраться, что вообще обозначают эти термины.

Кого мы будем относить к важным друзьям

Важные (лучшие) друзья в ВК сформировываются из общего перечня, с которыми чаще всего общается владелец аккаунта. Это не значит, что подразумевается именно личная переписка. Под словом «общение» имеются ввиду все типы активности, совершённые по отношению к конкретному пользователю ВКонтакте.

Сюда причисляются:

  1. Просмотр новых фото и свежих новостей;
  2. Написание комментариев;
  3. Размещение репостов;
  4. Частое посещение странички;
  5. Лайки.

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

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

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

Можно ли определить кто в лучших друзьях у пользователя

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

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

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

Вполне вероятно, что они являются вашими «поклонниками», их интересует то, что вы пишите у себя на стене и что публикуете на страничке. Проявляя активность по отношению к вам, они ещё не один день будут пребывать среди «лучших» друзей.


Узнаём кто в «важном» списке у друга

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

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

  • членом семьи;
  • близким товарищем;
  • коллегой по работе;
  • знакомым по ВУЗу и т.д.
  1. Узнать, кто относится к разделу «лучших» друзей у вашего приятеля во ВКонтакте, можно открыв список его друзей.
  2. Выполнить это можно посетив страничку вашего приятеля и просмотрев его список друзей.
  3. Также можно воспользоваться собственным перечнем друзей – напротив аватарки своего приятеля необходимо нажать на значок «просмотр друзей».
  4. После перехода в перечень приятелей своего знакомого вам будут видны рядом с фото значки, символизирующие «важных» друзей, «родственников» и т.д.
  5. Ваша аватарка будет находиться вверху списка, и вы сразу же увидите, есть ли вы в «лучших» друзьях.
  6. Так пересмотрев всех своих приятелей, вы узнаете, у кого находитесь в списке «важных», а у кого в категории обычных друзей.

Многие пользователи не обращают внимания на все эти категории, объективно полагая, что «лучшему» приятелю не нужно всеобщее афиширование. И возможно они правы!



 

Пожалуйста, поделитесь этим материалом в социальных сетях, если он оказался полезен!