Скрипт предназначен для автоматической публикации постов в нескольких социальных сетях, на основании расписания, заданного в Google таблице. Скрипт способен публиковать посты в группе на сайте ВКонтакте, на канале в Telegram, и в группе на сайте facebook. Текст поста и изображение скрипт берет из Google таблицы. Формат таблицы следующий:
Запускают скрипт со следующим необязательными параметрами:
-s SLEEP, --sleep
Пауза между опросами Google таблицы в секундах. По умолчанию 300 секунд.-l LOG, --log
Путь к каталогу с log файлом.
python.exe main.py -s 300 -l logs
В скрипте инициализируются следующие переменные окружения:
SPREADSHEET_ID
- ID Google таблицы. Значение из ссылки на google таблицу.RANGE_NAME
- диапазон ячеек с расписанием публикаций в форматеA3:H14
.VK_ACCESS_TOKEN
- переменная в которой хранится секретный токен, необходимый для подключения к api сайта vk.com. Для получения секретного токена рекомендуется использовать процедуру Implicit Flow.TELEGRAM_ACCESS_TOKEN
- переменная в которой хранится секретный токен бота, специально созданного для публикации сообщений на канале telegram.FACEBOOK_ACCESS_TOKEN
- переменная в которой хранится маркер доступа, необходимый для подключения к api сайта facebook.com. Маркер доступа рекомендуется получить с помощью Graph API Explorer.VK_GROUP_ID
- уникальный ключ группы, в которой скрипт будет формировать посты. Для получения ID группы используйте сервис regvk.com.VK_ALBUM_ID
- уникальный ключ альбома, в который скрипт будет помещать загруженные фотографии.TELEGRAM_CHAT_ID
- имя вашего канала в telegram, в который скрипт будет отправлять сообщения.FACEBOOK_GROUP_ID
- уникальный ключ группы, в которой скрипт будет формировать посты. Для получения ID группы используйте Graph API Explorer.TELEGRAM_PROXIES
- адрес прокси сервера по протоколу socks4/5, необходимый для обхода блокировки Telegram в России.
Переменные инициализируются значениями заданными в .env файле.
Перед запуском скрипта заполните расписание публикаций в google таблице, а так же укажите ссылки на файлы с текстом постов и картинками на google диске. Ознакомится с требованиями к публикуемым изображениям можно в документации, соответствующих социальных сетей.
Информацию о ходе выполнения скрипт пишет в файл log.txt, который, по умолчанию, будет создан в корневой папке, если не указан иной каталог в соответствующем аргументе скрипта. Результат публикации отражается в колонке "Опубликовано" в google таблице.
Для установки отредактируйте файл .env, в котором заполнить SPREADSHEET_ID
,RANGE_NAME
, VK_ACCESS_TOKEN
, TELEGRAM_ACCESS_TOKEN
, FACEBOOK_ACCESS_TOKEN
, VK_GROUP_ID
, VK_ALBUM_ID
, TELEGRAM_CHAT_ID
, FACEBOOK_GROUP_ID
, TELEGRAM_PROXIES
.
Так же в корневую папку скрипта положите следующие файлы:
credentials.json
- файл с параметрами авторизации Google Sheets API.client_secrets.json
- файл с информацией о аутентификации приложения Google Drive.
Python3 должен быть уже установлен. Затем используйте pip (или pip3, если есть конфликт с Python2) для установки зависимостей:
pip install -r requirements.txt
Код написан в образовательных целях, для изучения возможностей api, на онлайн-курсе для веб-разработчиков dvmn.org.