Pull to refresh

PHP класс для работы с VK API на сервере

Lumber room
Awaiting invitation
Представленный класс предназначен для работы с API самой популярной социальной сети в России. Особенность данного класса в том, что с его помощью можно использовать все методы API прямо на сервере. В стандартной документации к VK API приводится пример vkontakte.ru/source/APIServerPHPClass.zip похожего класса, к сожалению, через него доступны далеко не все методы. Не знаю, намеренно это сделано или просто забыли обновить документацию, но суть остается одна — через стандартный класс доступны полтора метода.

Для использования API на сервере нам понадобятся всего два параметра — api_id (id вашего приложения) и vk_id (id вашего аккаунта VK). Логика достаточно проста — все, что доступно вам через ваш аккаунт, будет доступно через PHP на вашем сервере.

Чтобы получить api_id нужно создать пустое IFrame/Flash приложение. Сделать это можно здесь. Углубляться в настройки смысла нет, я думаю там и так все понятно. Главное — разрешить приложению полный доступ к вашему аккаунту и оставить его в отключенном виде (режим тестирования). После того, как мы получили ID приложения мы можем перейти непосредственно к подключению и инициализации класса. Делается это просто:

require 'vkapi.class.php'; // Подключаем класс
$api_id = ' id application '; // ID приложения
$vk_id = ' you vk id '; // ID аккаунта
$VK = new vkapi($api_id, $vk_id); // Вызываем конструктор

Теперь можно перейти к вызову методов VK API.

$resp = $VK->api('audio.search', 
        array('q'=>'The Beatles','auto_complete'=>'1','sort'=>'2', 'count'=>'25'));

После вызова в переменной $resp окажется объект класса SimpleXMLElement, имеющий свойства, равные содержимому xml-ответа. В данном случае мы вызвали метод audio.search — поиск по всем доступным вконтакте аудиозаписям. Полученный объект можно обрабатывать, как угодно. Например, вывести на экран для изучения.

echo '<pre>'; 
print_r($resp);
echo '</pre>'; 

Или вывести только необходимые свойства.

 foreach($resp->audio as $key => $val)  { 
    $i++;
    echo "<div class='audio_name'>".$val->artist.' - '.$val->title.'</div>';	
  }

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

Класс можно забрать c github php class for vkapi

Подробнее о методах можно почитать в контактовской документации к API.
Tags:
Hubs:
You can’t comment this post because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.