Pull to refresh

Используем 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, мы можем смело использовать методы со стороны нашего сервера.
Tags:
Hubs:
You can’t comment this publication 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.