Files
md2vk/docs/vk-token-howto.md
T

2.9 KiB

Как получить VK access_token и опубликовать первый пост (шпаргалка)

1. Создать VK-приложение (один раз, вручную, на сайте VK)

  1. Открой https://id.vk.com/about/business → «VK ID» → «Мои приложения» (или https://dev.vk.com).
  2. «Создать приложение» → тип Standalone-приложение.
  3. После создания будет client_id (число, например 123456789). Адрес приложения/redirect можно оставить https://oauth.vk.com/blank.html.

2. Получить токен (открыть ссылку в браузере, войти в VK)

https://oauth.vk.com/authorize?client_id=<client_id>&scope=wall,offline&redirect_uri=https://oauth.vk.com/blank.html&response_type=token

После подтверждения браузер перейдёт на https://oauth.vk.com/blank.html#access_token=<TOKEN>&expires_in=0&user_id=<ID> (expires_in=0 — бессрочный, благодаря scope=offline).

  • user_id — ID твоей страницы (нужен для vk_user_id).
  • Токен — длинная строка, права wall (пост на стену), offline (долгоживущий).

3. Добавить аккаунт в md2vk (через Swagger)

Открой https://md2vk.nixg.ru/docs (введя пароль), найди POST /api/v1/accounts:

{
  "api_key": "<API-ключ из /opt/md2vk/secrets/estorozhenko_api_key.txt>",
  "vk_user_id": <user_id из шага 2>,
  "display_name": "<имя, например моя страница>",
  "access_token": "<TOKEN из шага 2>",
  "token_type": "user"
}

Ответ вернёт "id": 1 — это vk_account_id.

4. Опубликовать пост

POST /api/v1/publish:

{
  "api_key": "<тот же ключ>",
  "vk_account_id": 1,
  "message_md": "Привет, мир! Это тестовый пост через md2vk."
}

Ответ: "success": true, "url": "https://vk.com/wall<user_id>_<post_id>".

Альтернатива: curl из terminal (без Swagger)

API_KEY=$(cat /opt/md2vk/secrets/estorozhenko_api_key.txt)
# добавить аккаунт
curl -s -u estorozhenko:<пароль> -X POST https://md2vk.nixg.ru/api/v1/accounts \
  -H 'Content-Type: application/json' \
  -d '{"api_key":"'$API_KEY'","vk_user_id":<user_id>,"display_name":"my","access_token":"<TOKEN>","token_type":"user"}'
# опубликовать
curl -s -u estorozhenko:<пароль> -X POST https://md2vk.nixg.ru/api/v1/publish \
  -H 'Content-Type: application/json' \
  -d '{"api_key":"'$API_KEY'","vk_account_id":1,"message_md":"Привет, мир! Это тестовый пост через md2vk."}'

Пароль md2vk.nixg.ru — у пользователя (в конфиг/репо не пишем).