ilya_compman
@ilya_compman

Вконтакте API сервер-сервер

Как известно, у Вконтакте есть несколько способов работы с API:
  • через JS со стороннего сайта или из встроенного приложения
  • на ActionScript для приложений
  • и Desktop-приложения
Для того, чтобы организовать работу с сервисом в то время, когда пользователь не находится на сайте способа я не нашёл, иначе говоря, нет возможности совершать запросы к API сервер-сервер (за исключением нескольких специфичных функций).

В один момент показалось, что можно замаскировать сервер под desktop-приложение, но и там ложка дёгтя, после перехода на сайт Вконтакте для авторизации, он не в состоянии передать никаких данных нашему серверу.

Итак, вопрос. Можно ли как-то организовать взаимлдействие с API вконтакте в режиме сервер-сервер?
  • Вопрос задан
  • 5541 просмотр
Пригласить эксперта
Ответы на вопрос 2
DeNnEr
@DeNnEr
Если требуется воздействие на пользователя из приложение, то можно использовать набор функций:
vkontakte.ru/developers.php?o=-1&p=%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5+%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%B2+API

Конкретно — Методы, требующие наличия стороннего сервера.
Остальное политика API вконтакте не разрешает.
Маленький хинт: всю информацию, которую вам необходимо использовать в процессинге, можно и нужно собирать/обновлять в момент авторизации пользователя через ваше приложение.
Ответ написан
Комментировать
AvrGavr
@AvrGavr
Если на сервере php испольуется можете использовать класс OAuth, он уже в встроен в php для взаимодействия сервер-сервер
А вообще это делается с помощью технологии curl.
Вот так например делатся получение мызыки:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.vk.com/method/audio.get?uid='.$uid.'&access_token='.$access_token);
curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);       
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$data = curl_exec($ch);
curl_close($ch);

Урлы по которым надо запрашивать то что вы хотите можно найти в документации во вконтактике
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы