Консольное приложение для управления рекламными кампаниями в сервисе Яндекс.Директ. Работает с API Директа. Доступен следующий функционал:
- Получение списка кампаний пользователя с сохранением в файл
- Остановка всех кампаний
- Запуск всех кампаний
- Язык программирования: Python
- Сторонние библиотеки: python-dotenv, requests
Создайте и активируйте виртуальное окружение в главной директории проекта yandex-direct-campaign-manager
:
$ python3.10 -m venv .venv
$ source .venv/bin/activate
(.venv) $
Установите зависимости из requirements.txt
:
(.venv) $ pip install -r requirements.txt
Создайте файл .env
(либо переименуйте .env_sample
). Заполните значения переменных окружения (замените <client_id>
на реальное значение):
OAUTH_TOKEN_URL=https://oauth.yandex.ru/authorize?response_type=token&client_id=<cliend_id>
API_SANDBOX_MODE=0
API_CAMPAIGNS_URL=https://api.direct.yandex.com/json/v5/campaigns
API_SANDBOX_CAMPAIGNS_URL=https://api-sandbox.direct.yandex.com/json/v5/campaigns
Для успешной работы с API необходим токен авторизации для каждого конкретного пользователя. Если при запуске не будет найдена переменная окружения ACCESS_TOKEN_<ИМЯ_ПОЛЬЗОВАТЕЛЯ>
, то будет выведена ссылка, по которой нужно будет перейти для получения токена. Полученный токен нужно будет сохранить в переменной окружения ACCESS_TOKEN_<ИМЯ_ПОЛЬЗОВАТЕЛЯ>
(или добавить данную переменную в файл env
). <ИМЯ_ПОЛЬЗОВАТЕЛЯ>
не обязательно должно соответствовать имени пользователя Яндекс.Директ -- на работу с API оно не влияет, это исключительно вопрос удобства понимания для пользователя программы.
(.venv) $ python3.10 -m yadicm <имя_пользователя> -g
Список ID кампаний сохраняется в файл с именем <имя_пользователя>_campaigns_list.txt
в поддиректории files
.
(.venv) $ python3.10 -m yadicm <имя_пользователя> -s
Список ID кампаний для остановки берётся из файла с именем <имя_пользователя>_campaigns_list.txt
в поддиректории files
.
(.venv) $ python3.10 -m yadicm <имя_пользователя> -r
Список ID кампаний для запуска берётся из файла с именем <имя_пользователя>_campaigns_list.txt
в поддиректории files
.
Все запуски программы логируются. Файлы логов сохраняются в поддиректорию logs
и имеют вид yadicm_<ГГГГ>_<ММ>.log
.
Александр Аравин - sander-raven. Email: [email protected].
Проект находится под лицензией MIT. Подробнее: смотри файл LICENSE.