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

Илья
Токены — это ключи доступа к API. Они используются для авторизации при запросах к API.
Токены позволяют ограничивать доступ к данным пользователя с помощью параметра scope . Он определяет рамки видимости для вашего приложения. Токен с scope=friends даёт доступ к друзьям и ни к чему больше. Таким образом, токен становится менее опасным, чем логин и пароль.
Как получить
Токен можно получить прямо из браузера. Для этого нужно только перейти по правильной ссылке. Как составить правильную ссылку:
1. Создайте Standalone приложение.
Приложения создают на странице с вашими приложениями. Дайте приложению понятное название, чтобы в будущем легко вспомнить зачем его создавали.
2. Достаньте его client_id
Снова перейдите на страницу с вашими приложениями. Нажмите на кнопку «Редактировать» рядом с нужным приложением. В адресной строке появится его id . Из этой ссылки: https://vk.com/editapp?id=678295892 видно, что client_id=678295892 .
3. Соберите ссылку для получения ключа
Пример ссылки из документации Implicit Flow:
https://oauth.vk.com/authorize?client_id=1&display=page&scope=friends&response_type=token&v=5.92&state=123456
- redirect_uri указывать не надо т.к. сайт вам не нужен, приложение же клиентское.
- response_type и display оставьте такими, как в примере.
- client_id вы получили на втором шаге.
- v возьмите со страницы с версиями API. Выберите самую свежую.
scope выбирайте в зависимости от методов, которые хотите использовать. Например, для доступа к методу wall.post в документации ясно сказано: «требуются права доступа: wall«.
Параметр scope указывайте через запятую, вот так: scope=photos,groups .
4. Перейдите по собранной ссылке
Вы получите access_token — строку наподобие 533bacf01e1165b57531ad114461ae8736d6506a3 . Она появится в адресной строке, подписанная как access_token . Если в адресной строке появился code= вместо access_token= , проверьте правильность параметра response_type .
Что читать
- Статья от Mail.ru OAuth 2.0 простым и понятным языком
- Статья от Digital Ocean Введение в OAuth 2
- Implicit Flow ВКонтакте
Попробуйте бесплатные уроки по Python
Получите крутое код-ревью от практикующих программистов с разбором ошибок и рекомендациями, на что обратить внимание — бесплатно.
Переходите на страницу учебных модулей «Девмана» и выбирайте тему.
Как узнать токен ВК и как он выглядит?
Сегодня мы попробуем разобраться, можно ли узнать токен от ВК другого пользователя. Попутно, объясним, что это за штука такая и с чем ее едят.
Забегая вперед, сразу ответим, законных способов узнать токен чужого аккаунта ВК, нет. Разве что, вынудить человека вам его сообщить, открыто или хитростью.
Что такое токен?
Токен (access_token) – это ключ или код доступа. Еще, его называют подписью, зашифрованной информацией, секретным шифром.
Не путать с логином и/или паролем, это совершенно разные вещи.
Логин и пароль – это входные данные от страницы. Token – это комбинация, разрешающая или запрещающая определенный набор действий.
Для чего нужен этот ключ? Что он открывает, подписывает и какую информацию хранит?
- Это ключ доступа к API методам ВК;
- API методы – это набор инструментов или действий, с помощью которых одна программа взаимодействует с другой;
Каждый раз, когда пользователь через вспомогательную утилиту совершает в ВК какое-то действие, сервер идентифицирует его. Это делается с целью определить круг полномочий этого приложения.
Например, пользователь авторизовывается в ВК через Kate Mobile. Если он входит на страницу, сервер понимает, хозяин это или гость. Для последнего отображается лишь часть информации, ограниченная настройками приватности. У хозяина доступ полный. То есть, и к скрытым фоткам, и к личным данным, и возможность выполнить любые настройки. Или, пользователь хочет опубликовать что-то на стене. Сервер уточняет, есть ли у данной проги доступ на это действие. Если да, позволяет сделать пост, если нет, выдает ошибку. И т.д.
Каким образом система производит идентификацию? Она считывает подпись пользователя. Тот самый токен. Представляет собой уникальную длиннющую строку из английских букв и цифр. Она содержит ФИО человека и перечень разрешенных функций.
Если кому-то удастся узнать чужой токен, он сможет заходить в ВК от имени его владельца. Соответственно, получить полный доступ к его возможностям и полномочиям.

Код может соответствовать, как пользователю, так и сообществу или приложению (например, игре какой-нибудь). Ключ доступа группы создается в ее настройках. Приложения – в настройках программы. Пользователя – складывается автоматически, когда человек авторизовывается в ВК.
Вот пример действия пользовательского токена:
- Человек пытается зайти в какое-нибудь приложение через свой аккаунт в ВК. Например, через альтернативного клиента;
- Просто так ВКонтакте не позволит сторонней проге работать через себя. Он формирует запрос, с целью узнать приложение получше;
- Пользователь получает сообщение примерно такого содержания: Приложение «N» требует доступа к следующим разделам вашего аккаунта ВК: Сообщения, Стена, Список контактов, Группы;
- Вам остается разрешить доступ или запретить. В первом случае вы сможете зайти в данную утилиту через ВК. Более того, будет сформирован ключик, и при следующем входе ничего разрешать уже не придется. Во втором, нет.
Как узнать токен?
Давайте рассмотрим, как узнать и где найти токен своей страницы ВК и своего сообщества.
Код профиля
Вы должны понимать, токен есть не у каждой страницы. Он не является аналогом логина и пароля, поэтому, как правило, мало кому нужен. Если вы еще не генерировали ни одного ключа, инструкция ниже «споткнется» на «Error».
Итак, рассмотрим, как узнать или где взять токен ВК своей страницы (не чужой):
Это делается прямо из браузера:
- Вставьте в адресную строку следующую ссылку: https://api.vk.com/oauth/token?grant_type=password&client_id=2274003&client_secret=hHbZxrka2uZ6jB1inYsH&username= &password=.
- Вместо «Username» впишите телефон, к которому привязана страница, вместо «Password» – ее пароль.
- Кликните по Enter;
- Комбинация после «access_token=» и до «&user_id» – и есть token_access;
- Скопируйте его или выпишите на листок бумаги.

Ключ доступа группы
Допустим, вы являетесь админом некоего сообщества. Ранее, вы подключили к нему сервис по созданию чат-ботов. Был сформирован ключ доступа, который сейчас вы хотите посмотреть.
Где взять и как узнать токен группы ВК?
- Зайдите в свое сообщество;
- Кликните по клавише «Управление»;

- Перейдите к пункту «Работа с API»;
- Появится окно со скрытым списком ключей доступа. Возле каждого есть клавиша «Показать»;
- Жмите. Далее, подтвердите действие (код на телефон) и комбинация станет видимой полностью.
- Готово, теперь вы разобрались, как узнать токен группы ВК для бота. Аналогично можно посмотреть и другие подписи.

Ключ приложения
Рассмотрим, как узнать токен пользователя по id созданного им приложения в ВК:
- Зайдите в раздел создания приложений: https://vk.com/apps?act=manage;
Нажмите «Создать»;

- Выберите тип «Standalone», придумайте название;

- Сохранитесь;
- Найдите в колонке слева пункт «Настройки»;
- Во втором поле сверху будет отображен ключ доступа.

Чтобы включить приложение, вставьте в адресную строку браузера ссылку: 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 – Удалить.
На этом у нас все. Удалось переварить? Перечитайте еще раз!
VK API. Основы. Получение токена. Первые запросы к API

VK.com предоставляет многофункциональный и удобный API, который позволяет делать всё, что приходит на ум программисту, и даже, немного больше.
API позволяет отправлять сообщения, получать и публиковать записи на стену, производить абсолютно любые действия, которые существуют в VK, от имени пользователя, кому был сгенерирован токен. Разобравшись с API на примере ВК, в будущем, вы безпроблемно сможете быстро вникать в API любых других сайтов. И, ввиду того, что 90% всех API имеют схожую реализацию, то понимание этой статьи будет для вас отличным стартом, и хорошей школой освоения «взрослых игрушек».
В недавней статье было рассмотрено, что такое REST API. Почитайте информацию по ссылке — это точно будет полезно.
План
- Что такое VK API, разные группы API.
- Получение токена доступа
- Запросы к API (на примере получения всех записей пользователя со стены)
- Резюме
ВК-API блиц
ВК предоставляет несколько реализаций API:
- Streaming/Long Poll — позволяет получить данные в реальном времени. Сразу же, при обновлении данных в ВК, мы получаем актуальную информацию, без обновления страницы. Streaming и Long Poll реализуют разные подходы, но суть их одинаковая.
- Виджеты для сайта — здесь всё просто: скопировал код, без хитрых настроек, и у тебя рабочий виджет на сайте.
- Open API — работает на клиенте. Так же просто настраивается и используется. Преимуществом является то, что не обязательно иметь сервер для выполнения запросов. Будет работать в обычном HTML + JS.
- Callback API — позволяет получать данные от самомого ВК, не выполняя запрос. В случае обновления данных, ВК сам нам присылает новые данные. Например, пользователь подписался на нашу группу, и ВК, автоматически пришлёт информацию об этом пользователе нашему скрипту.
- REST API — позволяет взаимодействовать с данными ВК из скрипта. Позволяет автоматизировать любые пользовательские действия.
Для нас, как для программистов, на данном этапе — интересен REST API. Который позволяет взаимодействовать с пользователями, группами, рекламой, и прочими сущностями. Подробнее, обо всех доступных методах можно почитать здесь.
Для получение доступа к REST API, необходимо иметь специальный ключ vk api token . Это уникальное значение, аналогично логину и паролю — идентифицирует пользователя, от имени которого выполняются запросы.
Как гласит 2 правило проектирования REST API — между запросами не должно сохраняться состояния. Система по определению не может использовать сессии, потому применение токена актуально для идентификации пользователя.
Как получить токен VK.COM
Получение токена состоит из двух частей: регистрации своего приложения и получение токена в этом приложении.

Создать приложение можно на странице. Указав название приложения, и выбрав его тип.
Я выбираю Standalone , потому что тогда можно будет получить токены с бОльшим возможностями, чем в остальных вариантах (придётся поверить мне на слово, что это правда).

Создав приложение и перейдя на вкладку настроек, будет показано: id приложения, секретный ключ
Теперь, имея id приложения, можно получить токен доступа. Для этого нужно сформировать ссылку, подставив в неё id своего приложения.
https://oauth.vk.com/authorize?client_id=&display=page&redirect_uri=https://oauth.vk.com/blank.html&scope=friends,notify,photos,wall,email,mail,groups,stats,offline&response_type=token&v=5.74
где вместо нужно вставить id своего приложения.
а в параметре scope — перечислены разрешения, которыми мы хотим наделить токен, список всех разрешений
Однако здесь, одним из самых важных разрешений является offline , которое создаёт бессрочный токен, не имеющий ограниченного времени жизни.
Если вы не хотите создавать своё приложение, то можете получить токен по ссылке
Перейдя по сформированной ссылке, откроется диалоговое окно, в которому будут зачитаны права показаны разрешения, которыми наделяется токен (чем больше указано scope свойств, тем больше будет этот список)
Подтвердив, произойдёт переадресация на страницу, в адресной строке которой будет access_token , expires_in равный нулю (что логично, учитывая, что мы указывали создание вечного токена) 
Я сократил токен для сохранения читабельности. У вас он будет длиннее
Скопировав этот токен, можно делать первые запросы к API.
Как делать запросы к API
Сохраним полученный токен, потому как его нужно будет прикреплять к каждому запросу к VK API.
Для того, чтобы сделать запрос к API из PHP, нам нужна любая из доступных функций, способных совершить HTTP-запрос: file_get_contents, curl.
К слову, даже, если открыть в браузере сформированный адрес, то получим результат
Запрос к методам API состоит из шаблона: https://api.vk.com/method/?&access_token=&v=
где — имя метода
— параметры, индивидуальные, в зависимости от метода
— ранее сохранённый токен
— версия API (на момент написания статья = 5.78)
Зная всё это, сделаем первый запрос, на получение всех личных записей со стены. За стену отвечает сущность wall, а метод его get, который возвращает список всех записей со стены пользователя.
И, в итоге, имя метода будет сформировано в виде имени сущности (wall).имя метода (get) — wall.get
Так, первая часть URL-адреса уже сформирована: https://api.vk.com/method/wall.get

Теперь нужно определиться с передаваемыми параметрами (PARAMS). Все доступные, обязательные параметры с описанием можно посмотреть на странице метода.
Я буду передавать owner_id который соответствует id моего пользователя.
По факту же, это поле является необязательным в текущих условиях. Так как по умолчанию, ownwer_id будет проставлен id текущего пользователя.
И, можно было бы просто дописать в виде строки к существующему URL-адресу: . owner_id=120159853
Однако, если туда добавлять множество новых параметров, то в таком виде добавлять не удобно. Потому, я создам массив параметров, где ключом будет название параметра, а значение, соответственно, его значение. А с помощью функции http_build_query() можно привести массив к виду строки нужного вида:
$params = [
'owner_id' => 120159853,
//params2 => 'value2',
]; http_build_query($params); //owner_id=120159853¶ms2=value2.
Теперь, осталось только собрать воедино все те части, которые были разобраны выше.
Для этого, можно написать такой код:
$method = 'wall.get'; $token = '38fa46d4c0c10bab105c760cc44ed373c0bc6a34405931f34c765ea'; $version = 5.78; $params = http_build_query([ 'owner_id' => 120159853, 'access_token' => $token, 'v' => $version //. ]); $url = "https://api.vk.com/method/?&access_token=&v="; //https://api.vk.com/method/wall.get?owner_id=120159853&access_token=38fa46d4c0c10bab105c760cc44ed373c0bc6a34405931f34c765ea&v=5.78
При том, что даже токен и версию теперь можно вынести в массив $params , для более централизованной записи.
Осталось последний шаг — выполнение http-запроса. И, принимая тот факт, что данные возвращаются в виде JSON, то, результат, нужно дополнительно обернуть в функцию json_decode , которая приведёт JSON к обычному PHP-массиву. Вот так просто декодировать JSON.
$result = json_decode(file_get_contents($url), true);

В итоге, получаем обычный массив записей, который можем обработать как пожелаем
И, исходя из ответа выше, для получения записей выполним:
//все записи
$orders = $result['response']['items'];
//первая запись
$order = $result['response']['items'][0];
Резюме
Эта статья должна была показать вам, насколько просто пользоваться API, и какие преимущества открываются. Здесь было продемонстрировано, как получить токен vk, как делать запросы к vk api, на примере получения последних записей со стены пользователя.
И уже имея токен и полученные в этой статье знания — можете работать с любыми методами ВК. Удачи!

В серці. Назавжди.
Вчора у мене помер однокласник. А сьогодні бабуся. І хто б міг уявити, що цей рік принесе війну, смерть товариша, та смерть члена сім’ї? Це боляче. Проте це добре нагадування про те, як швидко тече час. І як його ціна збільшується кожної марно витраченої секунди. І я не скажу щось
20 мая 2022 г. 1 min read

Ось такий він, руський мир
«Руський мир» — звучить дуже сильно та виправдовуюче. Гарна обгортка виправдання слабкості, аморальності та нікчемності своїх дійсних намірів. Руський мир, який дуже солодко звучить для всіх, хто хоче закрити очі на факт повномасштабної війни. Дуже добре виправдання вбивства для купки звірів. Втім, це ж росія, в якій все виглядає логічно
16 апр. 2022 г. 3 min read

Перехват запросов и ответов JavaScript Fetch API
Перехватчики — это блоки кода, которые вы можете использовать для предварительной или последующей обработки HTTP-вызовов, помогая в обработке глобальных ошибок, аутентификации, логирования, изменения тела запроса и многом другом. В этой статье вы узнаете, как перехватывать вызовы JavaScript Fetch API. Есть два типа событий, для которых вы можете захотеть перехватить HTTP-вызовы:
Как выглядит токен вк

КАК ПОЛУЧИТЬ ТОКЕН VK?
Для создания бота VK вам необходимо получить токен группы.
Убедитесь, что у вас есть группа VK и права администратора в ней.
Шаг 1. Получить API-ключ
Заходим в управление сообществом

Управление сообществом
Далее Настройки – Работа с API – Создать ключ:

В этом окне проставляем все галочки:

Копируем полученный чисельно-буквенный код.
Он нам понадобится на шаге 3:

Шаг 2. Включить настройки для бота в управлении сообществом
Сообщения сообщества – включить:

Настройки для бота – включить.
Чтобы пользователи могли начать чат с сообществом по кнопке «Добавить кнопку «Начать»: