рд╡реАрдХреЗ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдорд┐рддреНрд░ рдЦреЛрдЬреЗрдВ

рдЫрд╡рд┐
0 рдкреНрд░рд╛рдЧрд┐рддрд┐рд╣рд╛рд╕

рд╣рд╛рдп, рд╣реЗрдмрд░реВрд╕рд░ред
рдПрдХ рдмрд╛рд░ рдореБрдЭреЗ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдЬрд░реВрд░рдд рдереА, рдЙрд╕рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдЬрд╛рдирдирд╛ рдФрд░ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдХреНрд▓рдм рдореЗрдВ рдЙрд╕рдХреА рд╕рджрд╕реНрдпрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдирд╛ред рдореЗрд░реЗ рдкрд╛рд╕ рджреЛ рдЕрдиреНрдп рдХреНрд▓рдм рд╕рджрд╕реНрдпреЛрдВ рдХреЗ рдкреГрд╖реНрдареЛрдВ рдХреЗ рдкрддреЗ (VKontakte) рднреА рд╣реИрдВред рд▓рдЧрднрдЧ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡рд╣ рдЬрд┐рд╕ рд╡реНрдпрдХреНрддрд┐ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛, рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд╕рд╛рде рдЙрд╕рдХреА рджреЛрд╕реНрддреА рдереАред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рдереЗред рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦреВрдВрдЧрд╛ рдХрд┐ рдореИрдВрдиреЗ vk.com рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред

1. рдХрд╛рд░реНрдп

рдПрдХ рдРрд╕реА рд╕реЗрд╡рд╛ рдмрдирд╛рдПрдВ, рдЬрд┐рд╕рдореЗрдВ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рднреА рд╕рд╛рдорд╛рдиреНрдп рдорд┐рддреНрд░ рдорд┐рд▓реЗрдВрдЧреЗ, рдЬрд┐рдиреНрд╣реЗрдВ рд╕рддреНрдпрд╛рдкрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рд╕реЗрд╡рд╛ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕реЛрд╢рд▓ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдПрдХ рдЦрд╛рддрд╛ рд╣реИред рдЖрдкрд╕реА рдорд┐рддреНрд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:

VKontakte API рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд╛рд░реНрдп рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реЛрдЯрд▓ рдХреНрд▓рд╛рд╕ рд▓рд┐рдЦреЗрдВред


2 рд╕рдорд╛рдзрд╛рди

2.1ред рдЖрд╡рд╢реНрдпрдХ рдПрдкреАрдЖрдИ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ

рд╣рдо рдПрдкреАрдЖрдИ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВред рдФрд░ рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣рдореЗрдВ рд╡рд╣ рдорд┐рд▓ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рджреЛрд╕реНрдд рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рджреЛрд╕реНрдд рд╣реИред рд╡рд┐рдзрд┐ред
friends.get - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдорд┐рддреНрд░ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреА рд╕реВрдЪреА рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рджреЛрд╕реНрддреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдЬрд╛рдирдХрд╛рд░реА (рдлрд╝реАрд▓реНрдб рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп) рд▓реМрдЯрд╛рддрд╛ рд╣реИред

рдФрд░, рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ, рдХрд╛рд░реНрдп рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣ рдПрдХ рдЦреБрд▓реА рд╡рд┐рдзрд┐ рд╣реИ рдЬрд┐рд╕рдореЗрдВ access_token рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред

рдХреЗрд╡рд▓ рдПрдХ рдЖрд╡рд╢реНрдпрдХ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ:
рдЫрд╡рд┐

рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рд╣рдорд╛рд░реЗ рдкреНрд░рддреНрдпреЗрдХ рджреЛ рд╕реЗрдЯреЛрдВ рдХреЗ рд╕рднреА рджреЛрд╕реНрддреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЗрд╖реНрдЯрддрдо рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ A рдореЗрдВ рдорд┐рддреНрд░ 2000 рд▓реЛрдЧ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдХреЗрд╡рд▓ 3 рд▓реЛрдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ B рдХреЗ рдорд┐рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдЕрдВрддрд░ рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, 1997 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдЬрд╛рдирдХрд╛рд░реА рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╣реЛрдЧреА, рдФрд░ рдЗрд╕рдХреА рдкреНрд░рд╛рдкреНрддрд┐ рдкрд░ рдЦрд░реНрдЪ рдХрд┐рдП рдЧрдП рд╕рдВрд╕рд╛рдзрди рдмрд░реНрдмрд╛рдж рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред
рд╣рдо рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдВрдЧреЗ, рдФрд░ рд╣рдореЗрдВ рдЬрд┐рди рдирдВрдмрд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА (рдЬреЛ рдХрд┐ рд╕реЗрдЯ рдП рдФрд░ рдмреА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ) рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ, рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрди рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЪрдпрди рдХрд░реЗрдВрдЧреЗред

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ users.get рд╡рд┐рдзрд┐ рд╣реИред
users.get - рдЙрдиреНрдирдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬрд╛рдирдХрд╛рд░реА рд▓реМрдЯрд╛рддрд╛ рд╣реИред

рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЛ access_token рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЕрд░реНрдерд╛рдд рдпрд╣ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рд╣реИред
рдЫрд╡рд┐
User_ids рдореЗрдВ, рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕рд░рдгреА рдкрд╛рд╕ рдХрд░реЗрдВрдЧреЗ рдЬреЛ рджреЛрдиреЛрдВ рд╕реЗрдЯреЛрдВ рдореЗрдВ рдкрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред
рд╣рдо рдЖрдХрд╛рд░ 100 * 100 рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рдЕрд╡рддрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдо рдлрд╝реАрд▓реНрдб рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдорд╛рди photo_100 рдкрд╛рд╕ рдХрд░реЗрдВрдЧреЗред

реи.реи. рд╣рдо рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдкрдХреНрд╖ рдХреА рдУрд░ рдореБрдбрд╝рддреЗ рд╣реИрдВ

рдореИрдВрдиреЗ 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[0]->response, $friends[1]->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(" <a href='http://vk.com/id$uid' target='_blank'> <div id='info'> <div id='ava'> <img src=''> </div> <div id='name'> $first_name <br/> $last_name </div> </div> </a> "); } public function view_users_info($users_info) { for($i=0;$i<sizeof($users_info->response);$i++){ $this->view_user_info($users_info->response[$i]); } } } 


рдЕрдм рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ рд╣рдорд╛рд░реА рдХрдХреНрд╖рд╛ рджреЗрдЦреЗрдВ:

 $vkf = new VkFriends; $u_id[0] = $vkf->clean_var($_POST["u1"]);//clean variables from POST $u_id[1] = $vkf->clean_var($_POST["u2"]); if(($u_id[0]!='')&&($u_id[1]!='')){ echo '<div id="block">'; $friends[0] = $vkf->get_friends($u_id[0]);//getting friends list from user with u_id $friends[1] = $vkf->get_friends($u_id[1]); if(($friends[0]!='')&&($friends[1]!='')){ $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("<center><h2 class='error'>  </h2></center>"); } }else{ print("<center><h2 class='error'>    </h2></center>"); } echo '</div>'; } 


3. рд╕рд╛рд░рд╛рдВрд╢

GitHub рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рд▓рд┐рдВрдХ рдХрд░реЗрдВ - vkfriends

рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж
рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдЖрдк рд░реБрдЪрд┐ рд░рдЦрддреЗ рдереЗ рдЙрдореНрдореАрдж рд╣реИред

Source: https://habr.com/ru/post/In212405/


All Articles