docs: шпаргалка по получению VK токена и публикации первого поста

This commit is contained in:
estorozhenko
2026-09-19 18:32:01 +00:00
parent 6684d1653f
commit c7d7b9451c
+67
View File
@@ -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=<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`:
```json
{
"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`:
```json
{
"api_key": "<тот же ключ>",
"vk_account_id": 1,
"message_md": "Привет, мир! Это тестовый пост через md2vk."
}
```
Ответ: `"success": true, "url": "https://vk.com/wall<user_id>_<post_id>"`.
## Альтернатива: 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":<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 — у пользователя (в конфиг/репо не пишем).