ВНИМАНИЕ! Данный скрипт не являются официальными и предоставляются как пример работы с API
- Python 3.8+
- OAuth токен приложения Яндекс 360 с правами
directory:read_users
- ID организации Яндекс 360
-
Клонируйте или скачайте проект:
git clone <repository_url> cd list_users_v2
-
Создайте виртуальное окружение (рекомендуется):
python -m venv venv source venv/bin/activate # Linux/Mac # или venv\Scripts\activate # Windows
-
Установите зависимости:
pip install -r requirements.txt
- Авторизуйтесь на Яндексе с правами администратора организации
- Откройте страницу создания приложения: https://oauth.yandex.ru/client/new
- Заполните форму:
- Название приложения
- Платформа: "Веб-сервисы"
- Redirect URI:
https://oauth.yandex.ru/verification_code
(для отладки)
- Выберите права доступа:
- ✅
directory:read_users
- Чтение данных о сотрудниках
- ✅
- Создайте приложение и скопируйте ClientID
- Получите токен перейдя по ссылке:
https://oauth.yandex.ru/authorize?response_type=token&client_id=<ваш_ClientID>
Подробнее: Документация Яндекс OAuth
python main.py --configure
# Полная настройка
python config.py --org-id 1234567 --token "ваш_oauth_токен"
# С дополнительными параметрами
python config.py --org-id 1234567 --token "токен" --per-page 500
Параметр | Описание | По умолчанию |
---|---|---|
org_id |
ID организации Яндекс 360 | - |
token |
OAuth токен | - |
per_page |
Записей на страницу (1-1000) | 1000 |
python main.py
Появится меню с опциями:
- Экспорт пользователей в CSV
- Экспорт пользователей в XLSX
- Тест подключения к API
- Настройка конфигурации
- Показать информацию о конфигурации
- Выход
Тест подключения:
python main.py --test
Экспорт в CSV:
python main.py --export csv
python main.py --export csv --filename "пользователи_2024"
Экспорт в XLSX:
python main.py --export xlsx
python main.py --export xlsx --filename "отчет_пользователи"
Приложение экспортирует следующие поля пользователей:
Поле | Описание |
---|---|
ID | Идентификатор пользователя |
Логин | Логин пользователя |
Основной email адрес | |
Имя | Имя пользователя |
Фамилия | Фамилия пользователя |
Отчество | Отчество пользователя |
Отображаемое имя | Полное имя для отображения |
Должность | Должность сотрудника |
Пол | Пол пользователя |
Описание | Описание пользователя |
День рождения | Дата рождения |
Администратор | Права администратора (Да/Нет) |
Активен | Статус активности (Да/Нет) |
Часовой пояс | Часовой пояс пользователя |
Язык | Язык интерфейса |
Дата изменения статуса | Дата изменения статуса активности |
- Контакты
- ID аватара
- Алиасы
- Группы
- Внешний ID
- ID подразделения
- Дата создания
- Дата изменения
- Роботы (автоматически исключаются)
list_users_v2/
├── main.py # Главное приложение
├── config.py # Управление конфигурацией
├── api_client.py # HTTP клиент для API
├── exporters.py # Экспорт в различные форматы
├── logger.py # Система логирования
├── requirements.txt # Зависимости
├── logs/ # Папка с логами
│ └── yandex360_exporter_YYYY-MM-DD_HH-MM-SS.log
└── README.md # Документация
Все операции логируются в единый файл в папке logs/
:
yandex360_exporter_YYYY-MM-DD_HH-MM-SS.log
- единый лог-файл для всех компонентов
Лог-файл создается при каждом запуске приложения и содержит записи от всех компонентов:
- Основное приложение
- API клиент (включая httpx)
- Экспортеры (CSV/XLSX)
- Система конфигурации
Логи не выводятся в консоль и не мешают интерактивному интерфейсу. Путь к текущему лог-файлу отображается в информации о конфигурации.
Настройки сохраняются в ~/.yandex360_exporter_config.json
:
{
"org_id": "1234567",
"token": "ваш_oauth_токен",
"per_page": 1000
}
Этот проект предоставляется "как есть" и является примером работы с API Яндекс 360 для разработки собственных инструментов.
Версия: 2.0