[статья обновлена 1 декабря 2020]
В последнее время появляется огромное количество онлайн-сервисов, компьютерных или мобильных приложений, скриптов, которые предназначены для ВКонтакте, но для их работы необходимо пройти авторизацию через access_token.
Некоторые сервисы предоставляют возможности получить ключ доступа, который необходим для авторизации. На это уходит несколько секунд. Но как быть, если вы загрузили скрипт, но необходимого access_token ключа нет?
Как создать public VK?
Краткая инструкция для получения токена сообщества
Заходим в настройки сообщества. (если у вас нет сообщества, значит его необходимо создать):
1. Работа с Api > 2. Получить ключ > 3. Скопируйте его (это ключ (токен) и есть access_token сообщества)
Вот и всё. А если же вам нужен токен пользователя, тогда вся необходимая информация находится ниже в статье.
Получить токен через приложение:
- через собственное приложение (создаёте сами)
- через официальное приложение (не своё)
Зачем нужен токен Вконтакте
access_token – это специальный ключ доступа, который работает на базе протокола авторизации OAuth 2.0 и генерируется с помощью логина и пароля пользователя. В отдельных случаях токен генерируется прямо в интерфейсе социальной сети, например для получения доступа к приложению или сообществу.
С помощью токена (access_token) вы можете использовать практически весь функционал социальной сети Вконтакте. Узнать полный список методов для работы с API Вконтакте вы можете по ссылке: https://vk.com/dev/methods
Существует несколько типов токенов:
- Ключ доступа пользователя – для доступа к функционалу пользователя
- Ключ доступа сообщества – для доступа к функционалу сообщества
- Ключ доступа приложения – для доступа к функционалу приложения
Что такое токен?
Токен (access_token) – это ключ или код доступа. Еще, его называют подписью, зашифрованной информацией, секретным шифром.
Не путать с логином и/или паролем, это совершенно разные вещи.
Логин и пароль – это входные данные от страницы. Token – это комбинация, разрешающая или запрещающая определенный набор действий.
Для чего нужен этот ключ? Что он открывает, подписывает и какую информацию хранит?
- Это ключ доступа к API методам ВК;
- API методы – это набор инструментов или действий, с помощью которых одна программа взаимодействует с другой;
Каждый раз, когда пользователь через вспомогательную утилиту совершает в ВК какое-то действие, сервер идентифицирует его. Это делается с целью определить круг полномочий этого приложения.
Например, пользователь авторизовывается в ВК через Kate Mobile. Если он входит на страницу, сервер понимает, хозяин это или гость. Для последнего отображается лишь часть информации, ограниченная настройками приватности. У хозяина доступ полный. То есть, и к скрытым фоткам, и к личным данным, и возможность выполнить любые настройки. Или, пользователь хочет опубликовать что-то на стене. Сервер уточняет, есть ли у данной проги доступ на это действие. Если да, позволяет сделать пост, если нет, выдает ошибку. И т.д.
Каким образом система производит идентификацию? Она считывает подпись пользователя. Тот самый токен. Представляет собой уникальную длиннющую строку из английских букв и цифр. Она содержит ФИО человека и перечень разрешенных функций.
Если кому-то удастся узнать чужой токен, он сможет заходить в ВК от имени его владельца. Соответственно, получить полный доступ к его возможностям и полномочиям.
Код может соответствовать, как пользователю, так и сообществу или приложению (например, игре какой-нибудь). Ключ доступа группы создается в ее настройках. Приложения – в настройках программы. Пользователя – складывается автоматически, когда человек авторизовывается в ВК.
Вот пример действия пользовательского токена:
- Человек пытается зайти в какое-нибудь приложение через свой аккаунт в ВК. Например, через альтернативного клиента;
- Просто так ВКонтакте не позволит сторонней проге работать через себя. Он формирует запрос, с целью узнать приложение получше;
- Пользователь получает сообщение примерно такого содержания: Приложение «N» требует доступа к следующим разделам вашего аккаунта ВК: Сообщения, Стена, Список контактов, Группы;
- Вам остается разрешить доступ или запретить. В первом случае вы сможете зайти в данную утилиту через ВК. Более того, будет сформирован ключик, и при следующем входе ничего разрешать уже не придется. Во втором, нет.
Как получить ключ доступа пользователя
Мы рассмотрим два способа получения токена (access_token) пользователя:
- С помощью логина и пароля
- С помощью логина, пароля и дфухфакторной авторизацией
Получение ключа доступа пользователя с помощью логина и пароля:
- Открываем ссылку: https://api.vk.com/oauth/token?grant_type=password&client_id=2274003&client_secret=hHbZxrka2uZ6jB1inYsH&username=НОМЕР-ТЕЛЕФОНА&password=МОЙ-ПАРОЛЬ (предварительно подставив свои данные в переменные username= и password=
- В окне вы увидите следующее сообщение:
- Вам необходимо перейти к адресной строке и скопировать ключ который находится после access_token= и до &user_id
Данный набор букв и цифр это и есть ваш ключ доступа пользователя (access_token).
Получение ключа доступа пользователя с помощью логина, пароля и двухфакторной авторизации:
- Открываем ссылку: https://api.vk.com/oauth/token?grant_type=password&client_id=2274003&client_secret=hHbZxrka2uZ6jB1inYsH&username=НОМЕР-ТЕЛЕФОНА&password=МОЙ-ПАРОЛЬ (предварительно подставив свои данные в переменные username= и password=
- В окне будет указана ссылка для перехода (redirect_uri):
- Переходи по ссылке и вводим код полученный в виде СМС или сообщения от администрации Вконтакте:
- В следующем окне вы увидите следующее сообщение:
- Вам необходимо перейти к адресной строке и скопировать ключ который находится после access_token= и до &user_id
Данный набор букв и цифр это и есть ваш ключ доступа пользователя (access_token).
Как узнать токен?
Давайте посмотрим, как узнать и где найти вашу страницу ВКонтакте и токен сообщества.
Код профиля
Вы должны понимать, что не на всех страницах есть токен. Это не аналог логина и пароля, поэтому, как правило, мало кому нужен. Если вы еще не сгенерировали ключи, следующие инструкции «наткнутся» на «Ошибка».
Итак, давайте рассмотрим, как узнать или где взять токен ВКонтакте вашей страницы (а не чужого):
Это делается прямо из браузера:
- Вставьте следующую ссылку в адресную строку: https://api.vk.com/oauth/token?grant_type=password & client_id = 2274003 & client_secret = hHbZxrka2uZ6jB1inYsH & username = & password=.
- Комбинация после «access_token =» и перед «& user_id» — token_access;
- Нажмите Enter;
- Скопируйте его или напишите на листе бумаги.
- Вместо «Имя пользователя» введите телефон, на который ведет ссылка на страницу, вместо «Пароль» — свой пароль.
Ключ доступа группы
Допустим, вы являетесь администратором определенного сообщества. Ранее вы подключили к нему сервис конструктора чат-ботов. Сгенерирован ключ доступа, который вы хотите просмотреть сейчас.
Где найти и как узнать токен группы ВК?
- Зайдите в свое сообщество;
- Нажмите на кнопку «Управление»;
- Зайдите в «Работа с API»;
- Готово, теперь вы понимаете, как найти токен группы ВК для бота. Таким же образом вы можете увидеть другие подписи.
- Щелкните. Затем подтвердите действие (код на телефоне), и комбинация станет полностью видна.
- Появится окно со скрытым списком ключей доступа. Рядом с каждым есть кнопка Показать»;
Ключ приложения
Рассмотрим, как узнать токен пользователя по идентификатору приложения, который он создал в ВК:
- Перейдите в раздел для создания приложений: https://vk.com/apps?act=manage; Нажмите «Создать»;
- Выберите тип «Автономный», придумайте имя;
- Сохранить;
- Во втором поле сверху будет отображаться ключ доступа.
- Найдите «Настройки» в левом столбце»;
Чтобы включить приложение, вставьте ссылку в адресную строку браузера: https://oauth.vk.com/authorize?client_id=12345&scope=photos,audio,video,docs,notes,pages,stato,offerte,quande, панель инструментов, группы, электронные письма, уведомления, статистика, реклама, офлайн, документы, страницы, статистика, уведомления и response_type = token. Замените 12345 идентификатором вашего приложения.
После нажатия Enter появится окно с разрешениями, которые в случае подтверждения будут записаны в токен.
Как получить ключ доступа сообщества
- Заходим в сообщество где вы являетесь администратором
- Переходим в раздел “Управление”
- Переходим в раздел “Работа с API”
- Нажимаем “Создать ключ” и выбираем необходимые права доступа:
- Нажимаем “Создать”
- От выбранного типа подтверждения действий вам придет СМС или push – уведомление
- Подтверждаем создание ключа:
- Ключ успешно создан
* Для работы с Callback API и Long Poll API используйте полученный ранее токен сообщества.
Как использовать токен ВК
Эти средства можно использовать для гибкой настройки разрешений программ. Это удобно, так как можно, например, сделать определенное ограничение, открывающее возможность пользования программой только друзьям или же только членам сообщества и т.д.
Можно зашифровать практически всё. Это применяется в случаях, когда пользователь хочет скрыть что-либо от других. Доступ можно закрыть или совсем, либо же оставить его определенному кругу лиц. Плюсы колоссальны, так как базовый пользовательский интерфейс (без созданного токена) ограничивает эти возможности.
Внимание! Ни при каких условиях не передавайте эту информацию третьим лицам, так как произойдет утечка ваших конфиденциальных данных.
Как получить ключ доступа приложения
- Переходим в раздел управления приложениями: https://vk.com/apps?act=manage
- Нажимаем “Создать приложение”
- Заполняем данные:
Я выбрал в качестве платформы “Сайт”
- Переходим в “Настройки приложения” где видим сервисный ключ доступа
Мы рассмотрели самые популярные способы получения токена (access_token) для работы с API Вконтакте.
Если у вас возникнут трудности при получении токена для работы с API Вконтакте, пишите в комментариях или мне в телеграм.
Можно ли узнать чужой код доступа?
Итак, вас интересует, как узнать токен другого человека, например, друга в ВК. Мы уже писали вначале, это невозможно. По крайней мере, законным или официальным путем. Данные сведения считаются закрытыми и надежно охраняются системой безопасности соцсети.
Если умеете взламывать, вперед! Но вы должны понимать, что идете на правонарушение. Со всеми вытекающими. В сети можно найти уйму способов узнать токен ВК другого человека, как рабочих, так и нет. Мы против неправомерных действий, а потому, ничего тут рекомендовать не станем. Упомянули же об этом лишь для полноты картины.
Как будет проходить процесс
У нас будет подготовлена специальная ссылка для авторизации, работающая на основе официального API Вконтакте. В основе лежит протокол безопасной авторизации OAuth. Сам метод называется Implicit Flow.
Все что от нас потребуется, подставить в URL адрес id приложения. Также доступно редактирования разделов, к которым мы разрешаем доступ через создаваемый access_token.
По сути, мы сформируем готовый урл, и подставим id двух разных приложений. В этом будет заключаться разница. После этого осуществим переход по готовой ссылке, и получит ключ доступа.
✅ Получение токена через собственное приложение.
- Используя собственное приложение. Этот метод предполагает, что у вас есть собственное приложение. Если у вас его нет, пора его создать. Сделать это очень просто: просто перейдите по ссылке vk.com/apps?act=manage и нажмите «Создать приложение».
Система попросит вас ввести имя для приложения. Например, вы можете использовать «Получить access_token». Проверьте, установлен ли флажок «Автономное приложение». Затем нажмите «Подключить приложение».
Для подтверждения заявки вам потребуется ввести код, который будет отправлен на указанный номер телефона. На этом этапе создания приложения вы можете закрепить мобильное устройство на странице ВКонтакте. Для этого нужно нажать на «Подключить устройство». Можно без подключения к учетной записи. Тогда вам просто нужно перейти по ссылке «Подтвердить через SMS».
После подтверждения регистрации откроется страница с информацией о созданном приложении. Нажмите «Настройки» в левом углу. Здесь client_id: ID приложения ВКонтакте.
Идентификатор необходимо скопировать. Далее: вставьте ссылку, заменив APPLICATION_ID. Получится примерно так:
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=https://api.vk.com/blank.html&display=page&response_type=token
5563738 — это созданный вами идентификатор приложения. У вас получится аналогичная комбинация. После создания приложения перейдем к вопросу, как получить access_token.
Где взять access_token?
Сегодня мы рассмотрим, как получить доступ к ВКонтакте по прямой ссылке на VK API (на основе протокола OAuth) или, как его еще называют, Implicit Stream. Авторизация, если вы используете этот метод, осуществляется через приложение ВКонтакте, именуемое ID. На сегодняшний день этот способ считается самым безопасным. Вы можете встретить статьи, в которых рассказывается о способах получения access_token с помощью приложений, вызывающих (и не зря!) Подозрительных. Но сегодня мы поговорим о том, как получить доступ через официальные приложения ВКонтакте.
Секрет получения токена заключается в переходе по ссылке, содержащей 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
Если мы это поняли, возникает вопрос: где найти эту ссылку?
Далее я расскажу о двух основных методах, которые позволят вам получить токен: