header

Автопостинг в ВК в 2025 году. 2.Получение токенов

Документация: https://id.vk.com/about/business/go/docs/ru/vkid/latest/vk-id/connection/start-integration/auth-with...

1. Подготовка. На сервисе https://tonyxu-io.github.io/pkce-generator/ в первом окне сгенерировать Code Verifier по кнопке "Generate Code Verifier". На его основе создать Code Challenge во втором окне, нажав кнопку "Generate Code Challenge".
Сохранить оба кода для дальнейшего использования при получении токенов.

Снимок1.JPG
2. Подготовить параметры для авторизации:
https://id.vk.com/authorize?
response_type=code
&client_id=11111111
&scope=offline%20wall%20photos
&redirect_uri=https://site.ru
&state=XXXRandomZZZ1111111111111111XXXRandomZZZ
&code_challenge=6c7ZD9kujPJSeTMQ8LKzER1LUI1P6DFNHkINCJCtGrA
&code_challenge_method=S256

client_id - id приложения, полученный при его создании.
scope - разрешения для приложения. В примере из документации в качестве разделителя используется последовательность "%20"
redirect_uri - свой сайт, указанный в настройках приложения
state - Строка состояния в виде случайной строки, состоящей из символов: a-z, A-Z, 0-9, _, -, длиной не менее 32 символа.
code_challenge - полученная в первом пункте последовательность символов.

Собрать все это в одну строку и вставить в адресную строку браузера. Убедиться, что пользователь авторизован как администратор приложения в ВК. Отправить запрос.

3. Произойдет переход на ваш сайт с формированием в адресной строке ссылки такого содержания:
https://site.ru/?
code=vk2.много букв и цифр
&expires_in=600
&device_id=много букв и цифр
&state=XXXRandomZZZ1111111111111111XXXRandomZZZ
&ext_id=много букв и цифр
&type=code_v2

4. Получение Access Token
Формируем curl-запрос:

curl "https://id.vk.com/oauth2/auth" -d "
client_id=11111111
&grant_type=authorization_code
&code_verifier=S7yz7Uw_d4B68xGmpVLNqKSCHvGDL9YXuq6Nf1rEi4w
&device_id=много букв и цифр
&code=vk2.много букв и цифр
&redirect_uri=https://site.ru
&state=XXXRandomZZZ1111111111111111XXXRandomZZZ
"

client_id - id приложения, полученный при его создании. 
code_verifier - сгенерированная в первом пункте последовательность символов (не путать с code_challenge, используемым ранее.
device_id - параметр, полученный в пункте 3.
code - параметр, полученный в пункте 3.
state - параметр, полученный в пункте 3.

Объединить все в одну строку:
curl "https://id.vk.com/oauth2/auth" -d "client_id=11111111&grant_type=authorization_code&code_verifier=S7yz7Uw_d4B68xGmpVLNqKSCHvGDL9YXuq6Nf1rEi4w&device_id=много букв и цифр&code=vk2.много букв и цифр&redirect_uri=https://site.ru&state=XXXRandomZZZ1111111111111111XXXRandomZZZ"

и, используя командную строку Windows, отправить запрос.

Снимок1.JPG

В результате получим: 
access_token - персональный токен для работы с API.
refresh_token - для обновления access_token, после окончания срока его жизни.
expires_in:3600 - время жизни access_token
и другую полезную информацию

Возврат к списку