Как получить access_token ВКонтакте. Подключение и работа с vk api Что такое ключ вк во входе

Пытаюсь получить токен. Читал документацию, ничего не понял. Что делать?

Токены - это ключи доступа к API. Они используются для авторизации при запросах к API.

Токены позволяют ограничивать доступ к данным пользователя с помощью параметра scope . Он определяет рамки видимости для вашего приложения. Токен с scope=friends даёт доступ к друзьям и ни к чему больше. Таким образом, токен становится менее опасным, чем логин и пароль.

Как получить

Токен можно получить прямо из браузера. Для этого нужно только перейти по правильной ссылке. Как составить правильную ссылку:

1. Создайте Standalone приложение.

  • redirect_uri указывать не надо т.к. сайт вам не нужен, приложение же клиентское.
  • response_type и display оставьте такими, как в примере.
  • client_id вы получили на втором шаге.
  • v возьмите со страницы с версиями API . Выберите самую свежую.

scope выбирайте в зависимости от методов, которые хотите использовать. Например, для доступа к методу

Социальные сети стали неотъемлемым инструментом продвижения сайтов. Для раскрутку сайта через соц. сети следует создать группу или страничку данного сайта. Набирать подписчиков, выкладывать новости на стену и много чего ещё (это тема отдельной заметки). Многие эти процессы можно автоматизировать используя API (интерфейс прикладного программирования) соответствующей социальной сети. В этой заметке я разберу как подключиться к vk api (вконтакте), как начать работать c вк апи, а так же приведу несколько примеров работы с api вконтакте.

Создание приложения вконтакте

И так приступим. Vk api имеет много методов, но одним из основных их различий является то, что для выполнения запросов к вк апи через некоторые методы требуется специальный ключ доступа - токен (access_token). Получить его можно создав своё приложение. Нам предлагают несколько видов приложений, но я выбираю тип Standalone. Мне его хватает. Для начала создания приложения переходим по ссылке и попадаем в следующее окно.


Здесь мы выбираем тип и название нашего приложения. Нажимаем подключить приложение и получаем на номер телефона, привязанному к аккаунту вк из которого мы создаём приложение, смс с кодом. Вводим его и переходим в следующее окно. В этом окне переходим в вкладку настройки.


В вкладке настройки мы видим поля с названием ID приложения и защитный ключ. Записываем куда нибудь эти данные. Больше ничего в вкладках я не делал. Состояние приложения оставил в положении отключено. Жмём сохранить настройки. Всё, мы создали приложение вконтакте.

Получение токена (access_token) api вк

Https://oauth.vk.com/authorize?client_id= &display=[вид окна] &redirect_uri=https://oauth.vk.com/blank.html&scope=[права приложения] &response_type=token&v=5.52

  • client_id - ID нашего приложения, полученный раньше.
  • display - вид окна, в котором будет происходить авторизация. Может быть page, popup, touch и wap
  • scope - права доступа нашего приложения относительно данных пользователя. О правах поподробнее ниже.

Права приложения вк относительно заданного пользователя могут задаваться в текстовом и цифровом виде. В текстовом это будет выглядеть так scope=friends,messages,groups . Этой строкой кода мы разрешили приложению vk доступ к друзьям, сообщениям и группам пользователя. Так же права задаются и в цифровом виде. Для каждого правила есть битовая маска и сумма этих масок и будет разрешать приложению определённые действия. Например право friends(+2), messages(+4096), groups(+262144), в итоге сумма битовых масок будет 266242 и код scope=266242 будет аналогом scope=friends,messages,groups . Отдельное внимание хочу уделить праву offline . Установка этого права делает получаемый нами токен бесконечным. Если это право не задать через определённое время токен нужно будет получать снова. Подробнее о правах приложения вк можно почитать здесь . В итоге давайте составим адрес для получения токена приложению с правами доступа к друзьям, сообщениям и группам пользователя, а так же с бессмертным токеном. Id приложения пусть будет 123456. Данный адрес будет выглядеть так:

Https://oauth.vk.com/authorize?client_id=123456&display=page&redirect_uri=https://oauth.vk.com/blank.html& scope=friends,messages,groups,offline&response_type=token&v=5.52


Подтверждаем действие и попадаем на страницу с предупреждением, из адресной строки браузера берём наш полученный токен. Это будет после #access_token= , код expires_in=0 говорит нам что токена (access_token) api вк бессмертный. Соответственно user_id= это id пользователя, для которого мы получили токен.

Зайдём в настройки аккаунта во вкладку настройки приложений и увидим наше приложение.


Теперь у нас всё готово для работы с апи вконтакте.

Примеры работы с api vk

Для работы с api вк я использую язык программирования php. Поэтому и примеры я буду приводить на php. Для того, что бы выполнить какое либо действие, нам нужно послать запрос к api vk. Запрос мы можем послать и через адресную строку браузера. Тоесть запрос это есть определённый урл адрес с заданными в нём определёнными параметрами. Синтаксис составления такого урл описан ниже.

Https://api.vkontakte.ru/ method/[ВЫЗЫВАЕМЫЙ МЕТОД]?[ПАРАМЕТРЫ ВЫЗЫВАЕМОГО МЕТОДА]

Список методов api vk находится здесь .Больше пока заострять на этом внимания не будем, потом на реальных примерах всё станет ясно. Осталось только разобраться как запрос к апи вконтакте отправить средствами php. Для этого будем использовать php функцию file_get_contents , а так же функцию json_decode так как ответ от сервера мы получим в формате json. Вот шаблон выполнения запроса к вк на php.

$result=json_decode(file_get_contents("https://api.vkontakte.ru/ method/[ВЫЗЫВАЕМЫЙ МЕТОД]?[ПАРАМЕТРЫ ВЫЗЫВАЕМОГО МЕТОДА]"));

ну а теперь несколько примеров работы с апи vk

$userid=12345; $mytoken=56789; /*вернёт объект с значениями пола и дня рождения пользователя*/ $request_params = array("user_id" => $userid, "fields" => "sex", "fields" => "bdate"); $get_params = http_build_query($request_params); $result = json_decode(file_get_contents("https://api.vk.com/method/users.get?". $get_params)); /*проверка пользователя на бан вк*/ $request_params = array("user_id" => $user_id, "fields" => "deactivated"); $get_params = http_build_query($request_params); $result = json_decode(file_get_contents("https://api.vk.com/method/users.get?". $get_params)); if(isset($result->response->deactivated)){ echo "Страница заморожена или удалена"; } /*отправим сообщение пользователю с user_id=222222*/ $mesage="Привет, как дела?"; //кодируем строку $msg=urlencode($mesage); $result = json_decode(file_get_contents("https://api.vkontakte.ru/method/ messages.send?user_id=222222& message=".$msg."&access_token=".$mytoken)); /*приглосим в друзья пользователя с user_id=222222*/ $mesage="Давайте дружить"; $msg=urlencode($mesage); $result=json_decode(file_get_contents("https://api.vkontakte.ru/ method/friends.adduser_id=222222& text=".$msg."&access_token=".$mytoken));

Методов у апи много, так что советую читать документацию. Конечно запросы не всегда выполняются правильно и возвращают коды ошибок. Ошибки можно посмотреть здесь . Так что вот так вот просто можно подключиться к api vk и автоматизировать свои действия в контакте.

Всё чаще и чаще на рынке появляются программные продукты для ВКонтакте в виде онлайн-сервисов, мобильных или компьютерных приложений и даже скриптов, для работы которых требуется авторизация аккаунта через access_token. В ряде случаев, эти программы или сервисы сами дают возможность в пару кликов получить требуемый для авторизации ключ доступа. Но как быть, если вы скачали скрипт, а ключа access_token для его работы у вас нет?

Как получить access_token?

Мы будем рассматривать метод авторизации в социальной сети ВКонтакте по прямой ссылке через API ВКонтакте (на базе протокола OAuth), именуемый Implicit flow . Авторизация таким методом выполняется через приложение ВКонтакте, указанное в виде ID. Это самый безопасный метод авторизации. В интернете вы можете найти большое количество статей, как эта, о получении access_token через различные подозрительные приложения. Мы пойдём другими путями – разберём способы авторизации через собственное приложение или официальное приложение ВКонтакте.

Способ получения токена заключается в переходе по специальной ссылке, содержащей ID некоторого приложения ВКонтакте, вида:

Цитата

200?"200px":""+(this.scrollHeight+5)+"px");">https://oauth.vk.com/authorize?client_id=ID_ПРИЛОЖЕНИЯ &scope=notify,photos,friends,audio,video,notes,pages,docs,status,questions,offers,wall,groups,messages,notifications,stats,ads,offline&redirect_uri=http://api.vk.com/blank.html&display=page&response_type=token


Весь вопрос в том, где же взять этот ID_ПРИЛОЖЕНИЯ . Как я и обещал, мы рассмотрим 2 способа:
  • Получение токена через собственное приложение.

    Такой метод получения токена подразумевает, что у вас есть собственное приложение. В таком случае, пропустите пару шагов. Мы же будем отталкиваться от факта, что своего приложения у вас нет, а значит вам нужно его создать. Для этого необходимо перейти на страницу управления своими приложениями по ссылке vk.com/apps?act=manage и нажать на кнопку «Создать приложение ».


    Введите название для будущего приложения, например, «Получение access_token », убедитесь, что стоит галочка «Standalone-приложение » и нажмите на кнопку «Подключить приложение ».


    Далее потребуется утвердить приложение, получив на телефон код подтверждения и введя его в специальное поле. Также, в процессе утверждения приложения вы можете привязать своё мобильное устройство к аккаунту ВКонтакте. Для этого нажмите на кнопку «Привязать устройство ». В противном случае, просто нажмите на ссылку «Подтвердить через SMS » без привязки устройства к странице.


    После подтверждения у вас откроется страница с информацией о созданном приложении. В меню слева кликните на пункт «Настройки ». Там и располагается ваш так называемый client_id , то есть ID вашего приложения ВКонтакте.


    Этот ID нужно скопировать и вставить в нашу ссылку вместо ID_ПРИЛОЖЕНИЯ . Должно получиться примерно так:

    200?"200px":""+(this.scrollHeight+5)+"px");">https://oauth.vk.com/authorize?client_id=5563738&scope=notify,photos,friends,audio,video,notes,pages,docs,status,questions,offers,wall,groups,messages,notifications,stats,ads,offline&redirect_uri=http://api.vk.com/blank.html&display=page&response_type=token


    5563738 – это ID нашего приложения. У вас будет похожее число.
  • Получение токена через официальное приложение ВКонтакте.

    Этот метод абсолютно идентичен предыдущему за исключением того, что вы не создаёте собственное приложение, а используете уже созданное, официальное приложение ВКонтакте, которому можно доверять.

    В качестве примера мы возьмём приложение ВКонтакте для Android. Его ID следующий: 2890984 . В итоге, подставляя его в ссылку, она примет следующий вид:

    200?"200px":""+(this.scrollHeight+5)+"px");">https://oauth.vk.com/authorize?client_id=2890984&scope=notify,photos,friends,audio,video,notes,pages,docs,status,questions,offers,wall,groups,messages,notifications,stats,ads,offline&redirect_uri=http://api.vk.com/blank.html&display=page&response_type=token

На этом мы завершили часть, касающуюся идентификатора (ID) приложения, используемого при авторизации. Но осталось уточнить ещё пару моментов.

  • Предоставлять полученный access_token третьим лицам.
  • Проходить авторизацию через сомнительные приложения (помимо вашего собственного или официального).
  • После использования сгенерированного access_token удалять его. В случае необходимости всегда можно сгенерировать новый.
  • Завершать все активные сеансы в настройках безопасности вашего аккаунта ВКонтакте. Это быстрый способ отключить все активные ключи доступа (access_token).
А теперь, после того как вы ознакомились с информацией выше, вы можете приступить к созданию собственного приложения для генерации своего access_token или перейти по ссылке для генерации access_token через приложение ВКонтакте для Android при помощи кнопки ниже:

Получить access_token

Разработчикам довольно часто приходится сталкиваться с приложениями и сервисами, которые в процессе взаимодействия с социальной сетью Вконтакте, требуют ключ доступа — access_token.

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

Как будет проходить процесс

Все что от нас потребуется, подставить в URL адрес id приложения. Также доступно редактирования разделов, к которым мы разрешаем доступ через создаваемый access_token.

По сути, мы сформируем готовый урл, и подставим id двух разных приложений. В этом будет заключаться разница. После этого осуществим переход по готовой ссылке, и получит ключ доступа.

Ссылка для получения ключа

Вот готовый url адрес. Здесь нас, прежде всего, интересуют данные после знака =. В примере ниже там написано ID-Приложения . Мы, в свою очередь, подставим там конкретное число.

Https://oauth.vk.com/authorize?client_id=ID-приложения&scope=notify,photos,friends,audio,video,notes,pages,docs,status,questions,offers,wall,groups,messages,notifications,stats,ads,offline&redirect_uri=https://api.vk.com/blank.html&display=page&response_type=token

Также обратите внимание на данные, после слова «scope» . Здесь мы перечисляем разделы, к которым ключ откроет доступ. Для того чтобы запретить приложения доступ к разделу с нашими друзьями, уберите из ссылки текст «friends» . Остальное по аналогии.

Теперь осталось только получить ID.

Получаем ID через собственное приложение

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

Https://vk.com/apps?act=manage

И нажмите на кнопку «Создать приложение» .

Укажите название и тип приложения (см. ). Затем нажмите на кнопку «Подключить приложение» .

С недавнего времени, все операции в кабинете для разработчиков, нужно подтверждать через СМС. В открывшемся окне выберите пункт «Подтвердить через СМС» . Получите код на свой мобильный телефон, затем введите его в форму.

Приложение будет создано. Теперь перейдите на вкладку «Настройки» . Здесь в блоке , будет указан нужный нам набор цифр. Скопируйте его.

Теперь у нас есть все необходимое.

Используем ID официального приложения Вконтакте

Второй способ получения айдишника — это просто взять готовое приложение. И лучше всего — официальное приложение Вконтакте для Android. Его ID — «2890984» . Можете использовать.

Получаем Access_token

Https://oauth.vk.com/authorize?client_id=2890984&scope=notify,photos,friends,audio,video,notes,pages,docs,status,questions,offers,wall,groups,messages,notifications,stats,ads,offline&redirect_uri=https://api.vk.com/blank.html&display=page&response_type=token

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то