Получение ключа доступа (access_token) для API «ВКонтакте»
«Access_token» – это некий уникальный ключ доступа к API социальной сети «ВКонтакте». Мы с вами уже затрагивали тему взаимодействия с этой социальной сетью, и там мы получали информацию из профиля пользователя без каких либо подтверждений.
Используя уникальный ключ, наши разработки получают больше прав, а именно – с помощью созданных приложений, при использовании токена, мы можем постить сообщения на стену «ВКонтакте», отправлять личные сообщения, загружать фотографии и делать много других интересных штук, о которых, я думаю, мы с удовольствием поговорим более подробно в отдельных статьях.
Но, прежде чем приступить к разработке своих приложений, необходимо получить этот уникальный ключ. Тому, как это правильно сделать, и будет посвящена эта статья.
1. Перейдите по этой ссылке. Если вы не авторизованы в «ВКонтакте» – авторизуйтесь, если уже авторизованы – то перед вами откроется форма для создания приложения:
Заполняем название приложения, при этом обязательно выбираем тип приложения «Standalone-приложение» и нажимаем «Подключить приложение».
После этого вам будет предложено подтвердить создание приложения. Подтверждаете, и переходите к следующему шагу.
2. На открывшейся странице приложения нажимаем «Настройки», затем копируем ID приложения:
и вставляем его в следующую ссылку:
Где «XXXXXXX» – ID вашего приложения.
3. Копируем полученную ссылку и открываем ее в браузере. Перед вами открывается окно с подтверждением доступа:
Просматриваете его, и если все так – нажимаете «Разрешить».
4. На следующей странице, где написано «Пожалуйста, не копируйте данные из адресной строки для сторонних сайтов. Таким образом Вы можете потерять доступ к Вашему аккаунту» копируете ссылку, она у вас будет вида:
и является вашим уникальным ключом, который вы копируете и используете в своих целях.
Обратите внимание, что данный ключ – это лишь пример, и он не является рабочим. Ваш же ключ не рекомендуем передавать третьим лицам во избежание взлома страницы и других неприятных ситуаций.
Используем 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 вставить этот код:
<'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, мы можем смело использовать методы со стороны нашего сервера.
Как получить токен Вконтакте
При разработке приложений связанных с работой API Вконтакте возникает необходимость получить ключ доступа пользователя (access_token). Для этой цели я использую проверенный временем способ, а именно получение токена через ссылку авторизации в приложении Вконтакте на Android.
Зачем нужен токен Вконтакте
access_token – это специальный ключ доступа, который работает на базе протокола авторизации OAuth 2.0 и генерируется с помощью логина и пароля пользователя. В отдельных случаях токен генерируется прямо в интерфейсе социальной сети, например для получения доступа к приложению или сообществу.
С помощью токена (access_token) вы можете использовать практически весь функционал социальной сети Вконтакте. Узнать полный список методов для работы с API Вконтакте вы можете по ссылке: https://vk.com/dev/methods
Существует несколько типов токенов:
Как получить ключ доступа пользователя
Мы рассмотрим два способа получения токена (access_token) пользователя:
Получение ключа доступа пользователя с помощью логина и пароля:
Данный набор букв и цифр это и есть ваш ключ доступа пользователя (access_token).
Получение ключа доступа пользователя с помощью логина, пароля и двухфакторной авторизации:
Данный набор букв и цифр это и есть ваш ключ доступа пользователя (access_token).
Как получить ключ доступа сообщества
* Для работы с Callback API и Long Poll API используйте полученный ранее токен сообщества.
Как получить ключ доступа приложения
Мы рассмотрели самые популярные способы получения токена (access_token) для работы с API Вконтакте.
Если у вас возникнут трудности при получении токена для работы с API Вконтакте, пишите в комментариях или мне в телеграм.
Как получить access_token Вконтакте
[статья обновлена 1 декабря 2020]
В последнее время появляется огромное количество онлайн-сервисов, компьютерных или мобильных приложений, скриптов, которые предназначены для ВКонтакте, но для их работы необходимо пройти авторизацию через access_token.
Некоторые сервисы предоставляют возможности получить ключ доступа, который необходим для авторизации. На это уходит несколько секунд. Но как быть, если вы загрузили скрипт, но необходимого access_token ключа нет?
Краткая инструкция для получения токена сообщества
Заходим в настройки сообщества. (если у вас нет сообщества, значит его необходимо создать):
1. Работа с Api > 2. Получить ключ > 3. Скопируйте его (это ключ (токен) и есть access_token сообщества)
Вот и всё. А если же вам нужен токен пользователя, тогда вся необходимая информация находится ниже в статье.
Получить токен через приложение:
Где взять access_token?
Сегодня мы разберем то, как авторизоваться в ВКонтакте, используя прямую ссылку API ВКонтакте (на базе протокола OAuth) или, как его еще называют, Implicit flow. Авторизация, если вы используете этот метод, производится через приложение Вк, которое указывается как 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=http://api.vk.com/blank.html&display=page&response_type=token
Если с этим разобрались, закономерно всплывает следующий вопрос: где взять эту самую ссылку?
Далее я расскажу о двух основных методах, которые позволят получить токен:
✅ Получение токена через собственное приложение.
Система попросит ввести название для приложения. Как пример, можете использовать «Получение access_token». Проверьте, если ли галочка «Standalone-приложение». Далее нажимайте на «Подключить приложение».
Чтобы подтвердить приложение, надо будет ввести код, который вам придет на указанный номер телефона. На этом этапе создания приложения можно зафиксировать мобильное устройство к странице Вк. Чтобы это сделать, надо кликнуть на «Привязать устройство». Можно и без привязки к аккаунту. Тогда просто необходимо перейти по ссылке «Подтвердить через SMS».
После того, как вы подтвердите регистрацию, откроется страница, на которой изложена информация о приложении, которое было создано. Нажмите на «Настройки», которые расположены в левом углу. Там расположен client_id – ID приложения ВКонтакте.
ID необходимо скопировать. Далее – вставьте в ссылку, заменив 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=http://api.vk.com/blank.html&display=page&response_type=token
5563738 – это ID приложения, которое вы создали. У вас получится похожая комбинация. После того как создали приложение перейдем к самому вопросу как получить access_token.
✅ Получение токена через официальное приложение VK.
Метод отличается от того, который был описан ранее, лишь тем, что вам не нужно создавать собственное приложение. Используйте уже созданное. Ему можно стопроцентно доверять.
Метод будет рассматривать на примере ВКонтакте для Android. ID такой: 2890984. Именно эту комбинацию надо подставить в ссылку.
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
На этом заканчивается часть статьи, в которой мы рассмотрели варианты идентификации приложения, которые могут быть использованы для авторизации. Осталось коснуться всего лишь нескольких моментов:
✅ Права доступа:
✅ access_token:
Последний вопрос, которого надо коснуться, так это то, как получить непосредственно сам ключ access_token. После того, как вы получите ссылку (использовав один из методов), надо будет перейти по ней, чтобы открыть право доступа.
Уже после этого в вашей адресной строке появится необходимый ключ. Он копируется вручную: после access_token= и перед &expires_in.
Ну и закончить стоит несколькими советами:
Как узнать токен ВК и как он выглядит?
Сегодня мы попробуем разобраться, можно ли узнать токен от ВК другого пользователя. Попутно, объясним, что это за штука такая и с чем ее едят.
Забегая вперед, сразу ответим, законных способов узнать токен чужого аккаунта ВК, нет. Разве что, вынудить человека вам его сообщить, открыто или хитростью.
Что такое токен?
Токен (access_token) – это ключ или код доступа. Еще, его называют подписью, зашифрованной информацией, секретным шифром.
Не путать с логином и/или паролем, это совершенно разные вещи.
Логин и пароль – это входные данные от страницы. Token – это комбинация, разрешающая или запрещающая определенный набор действий.
Для чего нужен этот ключ? Что он открывает, подписывает и какую информацию хранит?
Каждый раз, когда пользователь через вспомогательную утилиту совершает в ВК какое-то действие, сервер идентифицирует его. Это делается с целью определить круг полномочий этого приложения.
Например, пользователь авторизовывается в ВК через Kate Mobile. Если он входит на страницу, сервер понимает, хозяин это или гость. Для последнего отображается лишь часть информации, ограниченная настройками приватности. У хозяина доступ полный. То есть, и к скрытым фоткам, и к личным данным, и возможность выполнить любые настройки. Или, пользователь хочет опубликовать что-то на стене. Сервер уточняет, есть ли у данной проги доступ на это действие. Если да, позволяет сделать пост, если нет, выдает ошибку. И т.д.
Каким образом система производит идентификацию? Она считывает подпись пользователя. Тот самый токен. Представляет собой уникальную длиннющую строку из английских букв и цифр. Она содержит ФИО человека и перечень разрешенных функций.
Если кому-то удастся узнать чужой токен, он сможет заходить в ВК от имени его владельца. Соответственно, получить полный доступ к его возможностям и полномочиям.
Код может соответствовать, как пользователю, так и сообществу или приложению (например, игре какой-нибудь). Ключ доступа группы создается в ее настройках. Приложения – в настройках программы. Пользователя – складывается автоматически, когда человек авторизовывается в ВК.
Вот пример действия пользовательского токена:
Как узнать токен?
Давайте рассмотрим, как узнать и где найти токен своей страницы ВК и своего сообщества.
Код профиля
Вы должны понимать, токен есть не у каждой страницы. Он не является аналогом логина и пароля, поэтому, как правило, мало кому нужен. Если вы еще не генерировали ни одного ключа, инструкция ниже «споткнется» на «Error».
Итак, рассмотрим, как узнать или где взять токен ВК своей страницы (не чужой):
Это делается прямо из браузера:
Ключ доступа группы
Допустим, вы являетесь админом некоего сообщества. Ранее, вы подключили к нему сервис по созданию чат-ботов. Был сформирован ключ доступа, который сейчас вы хотите посмотреть.
Где взять и как узнать токен группы ВК?
Ключ приложения
Рассмотрим, как узнать токен пользователя по id созданного им приложения в ВК:
Чтобы включить приложение, вставьте в адресную строку браузера ссылку: https://oauth.vk.com/authorize?client_id=12345&scope=photos,audio,video,docs,notes,pages,status,offers,questions,wall,groups,email,notifications,stats,ads,offline,docs,pages,stats,notifications&response_type=token. Вместо 12345 впишите ID приложения.
После нажатия Enter выйдет окно с разрешениями, которые, в случае подтверждения, запишутся на токен.
Можно ли узнать чужой код доступа?
Итак, вас интересует, как узнать токен другого человека, например, друга в ВК. Мы уже писали вначале, это невозможно. По крайней мере, законным или официальным путем. Данные сведения считаются закрытыми и надежно охраняются системой безопасности соцсети.
Если умеете взламывать, вперед! Но вы должны понимать, что идете на правонарушение. Со всеми вытекающими. В сети можно найти уйму способов узнать токен ВК другого человека, как рабочих, так и нет. Мы против неправомерных действий, а потому, ничего тут рекомендовать не станем. Упомянули же об этом лишь для полноты картины.
Что дает знание ключа?
Мы рассказали, как узнать свой токен ВК со страницы, и пояснили, что чужие ключи недоступны. Теперь поговорим о том, что же они «открывают».
Вы получите доступ к всем разрешениям данного пользователя, сообщества или приложения.
Например, вы завладели кодами, которые были выданы приложению «Гости ВК». Ему был разрешен доступ к списку контактов, фотографиям, и, например, личным данным хозяина страницы. Значит и вы теперь сможете посмотреть его друзей, альбомы и закрытые личные данные. Все остальное станется под запретом: сообщения не напишете, настройки не поменяете, ленту новостей не почитаете.
И т.д. Чем больше полномочий давал полученный код, тем больше теперь у вас возможностей. Получается, страница остается при своем владельце, но человек, который завладел ее кодами, тоже может на ней похозяйничать. В рамках дозволенного, конечно. Например, посмотреть или включиться в чужую беседу ВК, если удалось узнать токен, получится только если у последнего есть такое разрешение.
К слову, ни один токен ни дает узнать пароль, поэтому отжать аккаунт злоумышленники никак не сумеют.
Теперь вы знаете, где в ВК найти токены. Удалить их невероятно просто: завершите все сеансы на странице или смените пароль. Удалить ключи в сообществе можно через Управление – Работа с API – Удалить.
На этом у нас все. Удалось переварить? Перечитайте еще раз!















