mirror of
https://gitverse.ru/kpa39l/md2vk.git
synced 2026-09-29 09:55:04 +00:00
docs: шпаргалка по получению VK токена и публикации первого поста
This commit is contained in:
@@ -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 — у пользователя (в конфиг/репо не пишем).
|
||||
Reference in New Issue
Block a user