mirror of
https://gitverse.ru/kpa39l/md2vk.git
synced 2026-09-29 18:05:04 +00:00
67 lines
2.9 KiB
Markdown
67 lines
2.9 KiB
Markdown
# Как получить 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 — у пользователя (в конфиг/репо не пишем). |