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

67 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Как получить 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 — у пользователя (в конфиг/репо не пишем).