Форум программистов, компьютерный форум, киберфорум
PHP: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 22.01.2015
Сообщений: 126

API VK

05.12.2016, 02:14. Показов 1244. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Подскажите пожалуйста как разбить на отдельные переменные ответ от вк.

PHP
1
2
$html = file_get_contents('https://api.vk.com/method/getProfiles?uids=ИД&fields=photo_200');
echo $html;
Выводит:
"response":[{"uid":ИД,"first_name":"ИМЯ","last_name" :"Фамилия","photo_200":"http:\/\/vk.com\/images\/camera_20
То есть ид, имя и т.д. занести в переменную php, что то типо $first_name = 'first_name полученный от вк'.

Если юзера нет выводит:
{"error":{"error_code":113," .................
Дополнительно проверять найден ли юзер.

[PHP]
PHP
1
2
3
4
5
6
$html = file_get_contents('https://api.vk.com/method/getProfiles?uids=ИД&fields=photo_200');
if($html  != юзера нет){
$first_name = 'first_name полученный от вк';
$last_name= 'last_name полученный от вк';
$photo_200= 'photo_200 полученный от вк';
}else echo 'Юзер не найден';exit();
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.12.2016, 02:14
Ответы с готовыми решениями:

Steam API - как можно получить медиану цен через API?
Ребят, как можно получить медиану цен через API ? Интересует количество продаж за последний день. Инфу по предмету получаю таким...

Android SDK Manager не отображает платформы 2.3.3 (API 10), 2.3.1 (API 9). Как быть?
Добрый день! Использую Android Studio под Windows 7. Из-за несовместимости с операционной системой Android SDK Manager не отображает...

Android Studio не дает работать с API 8 без установленного API 21
Удалил все не интересующие меня библиотеки и поставил только API Level 8. Но при создании приложения вылезает куча ошибок таких как: Что...

10
 Аватар для edward_freedom
1569 / 1448 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
05.12.2016, 02:25
gatti, http://php.net/manual/ru/function.json-decode.php
0
0 / 0 / 1
Регистрация: 22.01.2015
Сообщений: 126
05.12.2016, 02:36  [ТС]
Читал про json_decode, пробовал по всякому, пока не удалось.
PHP
1
2
$obj = json_decode($html);
echo $obj->{'last_name'};
Выдает пусто
0
 Аватар для edward_freedom
1569 / 1448 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
05.12.2016, 02:49
gatti,
JSON
1
{"response":[{"uid":1,"first_name":"Павел","last_name":"Дуров","photo_200":"https:\/\/pp.vk.me\/c629231\/v629231001\/c541\/TaUV7CG7RHg.jpg"}]}
response пропустил и не забывай, что это массив
0
1 / 1 / 0
Регистрация: 05.04.2012
Сообщений: 95
05.12.2016, 02:55
цикл используй используй
цикл foreach например
{$i['response']['uid'];$i['response']['first_name'] и т д}


$html != юзера нет // ты действительно думаешь, что это будет работать???
0
0 / 0 / 1
Регистрация: 22.01.2015
Сообщений: 126
05.12.2016, 03:10  [ТС]
Спасибо. С этим разобрался. Как правильно проверить на ответ с ошибкой?

PHP
1
2
3
4
5
6
7
8
if( юзера нет ){
echo 'Юзер не найден';
}else{
$vk_uid = $vk_user_inform->response[0]->{"uid"}; 
$vk_first_name = $vk_user_inform->response[0]->{"first_name"}; 
$vk_last_name = $vk_user_inform->response[0]->{"last_name"}; 
$vk_photo_200 = $vk_user_inform->response[0]->{"photo_200"};
}
Добавлено через 45 секунд
veggg, конечно нет. Я просто написал для примера.

Добавлено через 3 минуты
Почему то ответ с ошибкой не получается занести в строку "не может быть преобразован в строку".
0
1 / 1 / 0
Регистрация: 05.04.2012
Сообщений: 95
05.12.2016, 03:11
Вот держи, полностью рабочий варик.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<table>
<?php
 
for($i = 1; $i < 11; $i++){ 
 
    $html = file_get_contents('https://api.vk.com/method/getProfiles?uids='.$i.'&fields=photo_200');
    
    $html = json_decode($html, true); 
    
    if($html['response']['0']['first_name'] !='DELETED') {
    
        echo '<tr><td>';
        
        echo $html['response']['0']['uid'].' </td><td> ';
        
        echo $html['response']['0']['first_name'].' </td><td> ';
        
        echo $html['response']['0']['last_name'].' </td><td> ';
        
        echo '<img src="'.$html['response']['0']['photo_200'].'" />';
        
        echo '</td></tr>';
        
    }
    
}
?> 
</table>
А вот так работает - http://blogcode.ru/1.php
1
0 / 0 / 1
Регистрация: 22.01.2015
Сообщений: 126
05.12.2016, 03:16  [ТС]
Благодарю. А без авторизации приложения, получить id не возможно я так понимаю? Как правильно на php авторизоваться и получить токен? Благодарю!
0
1 / 1 / 0
Регистрация: 05.04.2012
Сообщений: 95
05.12.2016, 03:22
Я же ссылку скинул. Там все без авторизации.
Будет вопрос по методу который требует авторизацию, напишу. В вашем случае она не нужна.

Или откуда вы ID хотите получить? С групп что ли?
0
0 / 0 / 1
Регистрация: 22.01.2015
Сообщений: 126
05.12.2016, 03:31  [ТС]
Это я понял, что без авторизации работает. Проверил все отлично, спасибо. При входе на мой сайт хочу определить id вк юзера. Почитал понял что нужно приложение, дальше пока в ступоре)

Добавлено через 2 минуты
С авторизацией более расширенную информацию можно получить, что и хотелось бы плюс автоматически определять id вк юзера.
0
1 / 1 / 0
Регистрация: 05.04.2012
Сообщений: 95
05.12.2016, 03:32
Нельзя определять(технически можно) id юзера без его ведома.
Установите на сайт виджет авторизации. При входе будут передаваться get параметры- фотки, uid, hash и прочая приблуда. Можно сразу в БД заносить пользователей.

Конкретнее задавайте вопрос. Какие данные и т д.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.12.2016, 03:32
Помогаю со студенческими работами здесь

Как обратиться к api из программы, запущенной на том же сервере, где расположена api
Доброго времени суток Есть программа и api написанные на Blazor, которые работают под iis на одном сервере. Если в запросе данных из...

WIN API устарел как начать программировать на C++ .NET API (Без VisualStudio)
WIN API устарел как начать программировать на C++ .NET API (Без VisualStudio)

VK API как обойти ограничение api vk.com в 1000 человек?
Добрый день. У меня есть вопрос - как получить больше 1000 человек в запросе на поиск людей? while (true) { ...

Как верно использовать JavaScript native Fetch API вместо jQuery для опроса данных из API
Я разбираюсь в js, и на данный момент понял что метод из js Fetch может сам отправлять запросы на сервер и динамически подгружать данные по...

Ошибка minSDK(API 23, N preview) != deviceSDK(API 17)
Недавно начал учить андроид и возникла такая ошибка, когда я пытаюсь запустить проект на своем телефоне или эмуляторе. При этом в проекте...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru