From c7d7b9451cfcc4e452df2a1e6d81efdfe2d6b450 Mon Sep 17 00:00:00 2001 From: estorozhenko Date: Sat, 19 Sep 2026 18:32:01 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20=D1=88=D0=BF=D0=B0=D1=80=D0=B3=D0=B0?= =?UTF-8?q?=D0=BB=D0=BA=D0=B0=20=D0=BF=D0=BE=20=D0=BF=D0=BE=D0=BB=D1=83?= =?UTF-8?q?=D1=87=D0=B5=D0=BD=D0=B8=D1=8E=20VK=20=D1=82=D0=BE=D0=BA=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=B8=20=D0=BF=D1=83=D0=B1=D0=BB=D0=B8=D0=BA?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D0=B8=20=D0=BF=D0=B5=D1=80=D0=B2=D0=BE=D0=B3?= =?UTF-8?q?=D0=BE=20=D0=BF=D0=BE=D1=81=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/vk-token-howto.md | 67 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 docs/vk-token-howto.md diff --git a/docs/vk-token-howto.md b/docs/vk-token-howto.md new file mode 100644 index 0000000..40fc939 --- /dev/null +++ b/docs/vk-token-howto.md @@ -0,0 +1,67 @@ +# Как получить 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=&scope=wall,offline&redirect_uri=https://oauth.vk.com/blank.html&response_type=token +``` + +После подтверждения браузер перейдёт на +`https://oauth.vk.com/blank.html#access_token=&expires_in=0&user_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`: + +```json +{ + "api_key": "", + "vk_user_id": , + "display_name": "<имя, например моя страница>", + "access_token": "", + "token_type": "user" +} +``` + +Ответ вернёт `"id": 1` — это `vk_account_id`. + +## 4. Опубликовать пост + +`POST /api/v1/publish`: + +```json +{ + "api_key": "<тот же ключ>", + "vk_account_id": 1, + "message_md": "Привет, мир! Это тестовый пост через md2vk." +} +``` + +Ответ: `"success": true, "url": "https://vk.com/wall_"`. + +## Альтернатива: curl из terminal (без Swagger) + +```bash +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":,"display_name":"my","access_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 — у пользователя (в конфиг/репо не пишем). \ No newline at end of file