рдкрд┐рдЫрд▓реЗ рджреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ, рд╣рдордиреЗ VKontakte рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдмрдирд╛рдпрд╛, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд┐рдЬреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдФрд░ Mail.ru рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдЬреЗрдПрд╕ рдПрдкреАрдЖрдИ рдФрд░ рд╕рд░реНрд╡рд░-рд╕рд░реНрд╡рд░ рдЗрдВрдЯрд░реИрдХреНрд╢рди рджреЛрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред рдЖрдЬ рд╣рдо VKontakte рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдкрдиреА рдЪреВрдХ рдХреЛ рдареАрдХ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ javascripts рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ VKontakte рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред
рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рдХрд┐рд╕реА рднреА рддрддреНрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рддрд╕реНрд╡реАрд░
рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЗрд╕реА рддрд░рд╣ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд▓рд┐рдВрдХ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлреЙрд░реНрдо рдХрд╛ рд╣реЛрдЧрд╛:
api.vkontakte.ru/oauth/authorize?client_id=2445355&scope=&redirect_uri=_REDIRECT_URI_&response_type=code
рд╕рдВрдкрд░реНрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рддрдВрддреНрд░ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд▓рд┐рдВрдХ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддрд╛ рд╣реИ, рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХреА рд╕рдВрдкрд░реНрдХ рд╕рдВрдЦреНрдпрд╛, рд╣рдорд╛рд░реЗ
рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдкреИрд░рд╛рдореАрдЯрд░ рдкреИрд░рд╛рдореАрдЯрд░, рдпреВрдЖрд░рдЖрдИ рдореЗрдВ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рджреЛрдиреЛрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╣рдорддрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдФрд░ рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХреЛ рдПрдХреНрд╕реЗрд╕ рджреЗрдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВред OAuth рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ response_type = рдХреЛрдб рдкреИрд░рд╛рдореАрдЯрд░ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЗрд╡рд▓ рдмреБрдирд┐рдпрд╛рджреА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕рдХреА рджреАрд╡рд╛рд░ рдкрд░ рдкреЛрд╕реНрдЯ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕реЗ рд╕рдВрджреЗрд╢ рднреЗрдЬрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЧреБрдВрдЬрд╛рдЗрд╢ рдкреИрд░рд╛рдореАрдЯрд░ рдЦрд╛рд▓реА рд╣реИред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рд╣рдореЗрдВ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рдмрд╛рдж, рдЙрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд░реВрдк рдореЗрдВ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ_рдпреВрд░реА рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреГрд╖реНрда рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:
_http://REDIRECT_URI?code=7a6fa4dff77a228eeda56603b8f
рдпрджреНрдпрдкрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдкрд╛рд░рд┐рдд рдореВрд▓реНрдп рд╕реЗ рдкрд╣рд▓реЗ рдкреНрд░рд▓реЗрдЦрди (http: // рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЗ рд╕рд╛рде) рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЕрднреНрдпрд╛рд╕ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ, рдкреВрд░реНрдг рдкрддреЗ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкрддрд╛ рдХреЗрд╡рд▓ рддрднреА рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЖрд╡рд╢реНрдпрдХ рд╣реЛред
рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣рдорд╕реЗ рдЗрдВрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ (рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ), рддреЛ рдЗрд╕реЗ _http: // REDIRECT_URI рдкрд░ рд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛; рддреНрд░реБрдЯрд┐ = access_denied & error_reason = user_denied & error -description = рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ + рдЖрдкрдХреЗ + рдЕрдиреБрд░реЛрдз рдкреГрд╖реНрда рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛
рдЙрддреНрддрд░ рдХреЗ рд╕рд╛рде рдЖрдпрд╛ рдХреЛрдб рдкреИрд░рд╛рдореАрдЯрд░ рдПрдХреНрд╕реЗрд╕ рдХреБрдВрдЬреА (access_token) рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреЗрдЯрд╛ рдПрдХрддреНрд░ рдХрд░реЗрдВрдЧреЗред рдкреНрд░рд╛рдкреНрдд рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдареАрдХ рдПрдХ рдШрдВрдЯрд╛ рд╣реИред
Access_token рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
$url = "https://api.vkontakte.ru/oauth/access_token?client_id=_APP_ID_&client_secret=_CLIENT_SECRET_&code=" . $_REQUEST[ 'code' ];
$response = json_decode(@file_get_contents($url));
if ($response->error) {
die(' - ');
}
рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, _APP_ID_ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рдФрд░ _CLIENT_SECRET_ рдЧреБрдкреНрдд рдХреБрдВрдЬреА рд╣реИ, рд╣рдо рдЗрд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧ рдкреГрд╖реНрда рдкрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред
$ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-> access_token рдореЗрдВ рд╣рдореЗрдВ рдПрдХреНрд╕реЗрд╕ рдХреБрдВрдЬреА рдорд┐рд▓реЗрдЧреА рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдмрд╣реБрдд рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ $ response-> user_id VKontakte рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдВрдЦреНрдпрд╛ рд╣реИред рдХрд┐рд╕реА рднреА рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, $ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-> рддреНрд░реБрдЯрд┐ рдЦрд╛рд▓реА рдирд╣реАрдВ рд╣реЛрдЧреА рдФрд░ $ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-> error_description рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд╡рд░рдг рд╣реЛрдЧрд╛ред
рдЖрдк рдкрд╣рд▓реЗ рдорд╛рдорд▓реЗ рдФрд░
api.vkontakte.ru/methodod.com/method.gov/method/METHOD_NAME.xml?PARAMETERS&access_token/ACCESS_TOKEN рдкреЗрдЬ рдХреЗ рд▓рд┐рдП
api.vkontakte.ru/method/METHOD_NAME.xml рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдХреЗ XML рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ рдФрд░ JSON рджреЛрдиреЛрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдХреЗ рдПрдкреАрдЖрдИ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред ред рдЕрдкрдиреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ JSON рдХреЛ рдЪреБрдирд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред
рдЖрдк рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд╡рд┐рдХреА рдкреГрд╖реНрда рдкрд░
рдПрдкреАрдЖрдИ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА
рдкреВрд░реА рд╕реВрдЪреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдЧреЗрдЯрдкреНрд░рд┐рд▓реНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдЬрд╛рдирдХрд╛рд░реА рд▓реМрдЯрд╛рддрд╛ рд╣реИред
$arrResponse = json_decode(@file_get_contents( "https://api.vkontakte.ru/method/getProfiles?uid={$response->user_id}&access_token={$response->access_token}&fields=photo" ))->response;
$ ArrResponse рд╕рд░рдгреА рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рдПрдХ рд╕рд░рдгреА рд╣реИ, рдЬреЛ рд╣рдореЗрдВ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рдПрдЧреА, рд╣рдо рдлрд╝реАрд▓реНрдб рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ (рдорд╛рдиреНрдп рдкреИрд░рд╛рдореАрдЯрд░ uid, first_name, last_name, рдЙрдкрдирд╛рдо, screen_name, рд▓рд┐рдВрдЧ, bdate (рдЬрдиреНрдорддрд┐рдерд┐), рд╢рд╣рд░, рджреЗрд╢, рд╕рдордпрдХреНрд╖реЗрддреНрд░, рдлреЛрдЯреЛ) photo_medium, photo_big, has_mobile, rate, contact, education, online, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдХреБрдЫ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП uid рдФрд░ first_name рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕реНрдкрд╖реНрдЯ рд╕рдВрдХреЗрдд рдХреЗ рдЖрддреЗ рд╣реИрдВ)ред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд
, рдПрдХ рд╢рд╛рдирджрд╛рд░ рдЪреАрдЬ рд╣рдорд╛рд░реЗ рдкрд╛рд╕
рдЙрдкрд▓рдмреНрдз рд╣реИ - рд╣рдо рдирд╛рдо рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЧрд┐рд░рд╛рд╡рдЯ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдЕрдкрдиреА рд╕рд╛рдЗрдЯ рдкрд░ рдЗрд╕ рдЙрдкрдпреЛрдЧреА рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╛рдо рд╕реЗ рдЦреЛрдЬ рдХрд░ рдФрд░ рд╡рд╛рдВрдЫрд┐рдд рдЧрд┐рд░рд╛рд╡рдЯ рдореЗрдВ рд╕рдВрдкрд░реНрдХ рд╕реЗ рдирд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдХреЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рд╣рдореЗрдВ рдЙрддреНрддрд░ рд╕реЗ рдЪрд╛рд╣рд┐рдП: $ response [0] -> uid, $ response [0] -> рдлреЛрдЯреЛ (рдкреНрд░реЛрдлрд╛рдЗрд▓ рдкрд┐рдХреНрдЪрд░ рдХреЗ рд▓рд┐рдП), $ response [0] -> first_name рдФрд░ $ response [0] -> last_name, рдЬрд┐рдирдореЗрдВ рд╕реЗ рд╣рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдХреЛ рдЧреЛрдВрдж рдХрд░рддреЗ рд╣реИрдВред
рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реВрдЪреА
рдореЗрд░реЗ рдкрд╣рд▓реЗ рд▓реЗрдЦ рдХреЗ рд╕рдорд╛рди рд╣реИ: рд╣рдо рдЬрд╛рдБрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдРрд╕рд╛ рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИ, рдЕрдЧрд░ рд╡рд╣рд╛рдБ рд╣реИ - рд╣рдо рдЕрд╡рддрд╛рд░ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдпрджрд┐ рдирд╣реАрдВ - рд╣рдо рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдмрдирд╛рддреЗ рд╣реИрдВ, рд╕рд╛рдЗрдЯ рдкрд░ рдЕрдзрд┐рдХреГрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдореБрдЦреНрдп рдкреГрд╖реНрда рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред