Используем API методы ВКонтакте от имени другого пользователя

В статье описано, как получить чужой access_token для использования API методов ВКонтакте.

Для начала нам нужно подключить свой сайт, это можно сделать на этой странице. После того, как мы создадим приложение, мы получим свой Защищенный ключ, и ID приложения. Для того, чтобы получить потом чужой access_token.

Дальше нам нужно сделать авторизацию на сайте, про это можно почитать тут (Не забываем разрешить доступ к тем методам, которые будем использовать, кроме сообщений. Их использовать с сервера нельзя). Так как access_token прикрепляется к IP компьютера, то нам придется сделать авторизацию с параметром response_type=code, а потом уже на своем сервере получить access_token, который будет привязан к IP вашего сервера.

Итак, делаем в авторизации редирект, например, на страницу habrahabr.ru/vk.php, если вы сделали авторизацию правильно, то у нас получится страница типа habrahabr.ru/vk.php?code=dab78273596b1f9s0e. Вот с этого code=dab78273596b1f9s0e мы и получим чужой access_token. Что бы нам получить чужой access_token, нам достаточно в файле vk.php вставить этот код:
<?
$code = $_GET['code'];
$secret = 'wqeqweljafdslfk'; //секретный ключ вашего приложения
$idapp = '1234567'; //id вашего приложения
$json = file_get_contents('https://api.vk.com/oauth/token?client_id='.$idapp.'&code='.$code.'&client_secret='.$secret);
 
$obj = json_decode($json);
$ololo = $obj->{'access_token'};
$access_token=$ololo;
 
echo 'Добро пожаловать';
?>


После того, как мы получили access_token, запишем его например в текстовый документ vkat.txt (Не забываем на сервере на этот документ ставить права 777).
Что бы записать в текстовый документ access_token, нам достаточно в vk.php добавить 3 строки:

$log = fopen("vkat.txt","a+");
fwrite($log,"$access_token \n");
fclose($log);


Только никому ссылку не даем на этот текстовый документ, чтобы access_token не видели посторонние глаза. А пользователю выведем какое то сообщение типо «Добро пожаловать», чтобы было не так уж палевно. После, того как мы получили чужой access_token, мы можем смело использовать методы со стороны нашего сервера.


0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.