Я создал такой запрос <?php $vkid=$_POST['vkid'];//????? ?????? ?? ????????? $name=$_POST['name'];//????? ??? ???? ??? ???? if( $curl = curl_init() ) { curl_setopt($curl, CURLOPT_URL, 'https://api.vk.com/method/users.get?'); curl_setopt($curl, CURLOPT_RETURNTRANSFER,true); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, "user_id=туткарочайди"); $out = curl_exec($curl); echo $out; curl_close($curl); } ?> получил информацию. и теперь допустим я хочу вывести только имя, как это сделать?
<?php if( $curl = curl_init() ) { curl_setopt($curl, CURLOPT_URL, 'https://api.vk.com/method/users.get?'); curl_setopt($curl, CURLOPT_RETURNTRANSFER,true); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, "user_ids=331479035"); $json = curl_exec($curl); $response = json_decode($json)->{'response'}; echo($response[0]->{'first_name'}); curl_close($curl);} ?>
Вот кусок моего 100% рабочего кода $ch2 = curl_init(); curl_setopt ($ch2, CURLOPT_URL, "https://api.vk.com/method/users.get?user_ids=".$op."&fields=photo_50,online&access_token=$token"); curl_setopt ($ch2, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt ($ch2, CURLOPT_RETURNTRANSFER, TRUE); $result2 = curl_exec ($ch2); curl_close($ch2); $json2 = json_decode($result2, 1); $fio = iconv("utf-8", "windows-1251", $json2["response"][0]["first_name"]); echo $fio;
Смотрите отчего лезет 500. Я так понимаю, с web-сервера запускаете. Может JSON не установлен. Запустите с командной строки. Я проверял перед тем как выложить.
ВК возвращает данные в формате JSON. Ну этож строка. Чтобы получить из строки объект - нужно json_decode.
Code: <?php function get_web_page( $url ) { $uagent = "Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.14"; $ch = curl_init( $url ); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // возвращает веб-страницу curl_setopt($ch, CURLOPT_HEADER, 0); // не возвращает заголовки curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // переходит по редиректам curl_setopt($ch, CURLOPT_ENCODING, ""); // обрабатывает все кодировки curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_USERAGENT, $uagent); // useragent curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120); // таймаут соединения curl_setopt($ch, CURLOPT_TIMEOUT, 120); // таймаут ответа curl_setopt($ch, CURLOPT_MAXREDIRS, 10); // останавливаться после 10-ого редиректа $content = curl_exec( $ch ); $err = curl_errno( $ch ); $errmsg = curl_error( $ch ); $header = curl_getinfo( $ch ); curl_close( $ch ); $header['errno'] = $err; $header['errmsg'] = $errmsg; $header['content'] = $content; return $header; } $vkid=$_POST['vkid']; // ID $result = get_web_page( "https://api.vk.com/method/users.get?user_id=$vkid" ); $page = $result['content']; $obj=json_decode($page); $first_name = $obj->response[0]->first_name; $last_name = $obj->response[0]->last_name; $uid = $obj->response[0]->uid; echo $first_name; echo "<br />"; echo $last_name; echo "<br />"; echo $uid; ?> Вот держи 100% рабочий вариант
что то вы наркоманите. есть готовые юзабельные либы для работы с вк апи. http://habrahabr.ru/post/221949/