Skip to content

SpyVisit/teams-chat-exporter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💬 Teams Chat Exporter

Приложение для экспорта переписки из Microsoft Teams в форматы HTML, CSV и JSON.

Python License Platform


✨ Возможности

  • 🔑 Автозахват токена через CDP (Chrome DevTools Protocol) — без ручного копирования
  • 💬 Список всех чатов — групповые и личные
  • 📄 Экспорт в три формата: HTML (читаемый), CSV (для Excel), JSON (полные данные)
  • 💬 Цитаты и ответы — корректно отображает reply_to и messageReference
  • 📎 Вложения — фиксирует имена прикреплённых файлов
  • 🔒 SSL bypass — работает за корпоративным прокси с подменой сертификатов

📋 Требования

  • Windows 10/11
  • Python 3.9+
  • Microsoft Edge или Google Chrome
  • Доступ к Graph Explorer

🚀 Установка

git clone https://github.com/AEvstratov/teams-chat-exporter.git
cd teams-chat-exporter
pip install -r requirements.txt
python TEAMS_explorer.py

📖 Использование

Шаг 1 — Получить токен автоматически

  1. Нажми кнопку "🔑 Открыть Graph Explorer и захватить токен автоматически"
  2. В открывшемся браузере войди под корпоративным аккаунтом
  3. Нажми Run query в Graph Explorer
  4. Токен захватится автоматически ✅

Шаг 2 — Загрузить список чатов

Нажми "🔍 Загрузить список чатов" — появится список всех доступных чатов.

Шаг 3 — Экспортировать

  1. Выбери нужный чат из списка
  2. Укажи папку для сохранения (по умолчанию Downloads)
  3. Нажми "⬇️ Экспортировать чат"

Файлы сохранятся с именем чата и датой:

пример:
teams_Go_Live_20260422_143000.html
teams_Go_Live_20260422_143000.csv
teams_Go_Live_20260422_143000.json

🔑 Получение токена вручную (резервный способ)

Если автозахват не работает:

  1. Открой Graph Explorer
  2. Войди под своим аккаунтом
  3. Нажми кнопку "Access token" → скопируй токен
  4. Вставь через кнопку "📋 Вставить" в приложении

📁 Форматы экспорта

Формат Описание
.html Красиво отформатированный чат с цитатами, открывается в браузере
.csv Таблица для Excel: дата, время, отправитель, текст, вложения
.json Полные сырые данные от Graph API

⚙️ Технические детали

  • Авторизация через Microsoft Graph API (/v1.0/chats/{id}/messages)
  • Захват токена через Chrome DevTools Protocol (порт 9222)
  • Пагинация через @odata.nextLink — выгружает все сообщения без ограничений
  • Парсинг messageReference вложений для отображения цитат

🛠️ Устранение проблем

Токен не захватывается автоматически → Нажми Run query в Graph Explorer после входа — это триггерит сохранение токена

SSL ошибка при запросе → Приложение автоматически отключает SSL-проверку для работы за корпоративным прокси

Ошибка 401 Unauthorized → Токен истёк (живёт ~1 час из Teams, ~24 часа из Graph Explorer). Получи новый.

Ошибка 403 Forbidden → Токен не имеет прав Chat.Read. Используй Graph Explorer — он запрашивает нужные scope.


📜 Лицензия

MIT License — используй свободно.


*Разработано для внутреннего использования в проекте миграции системы для документирования переписки

About

A GUI tool for exporting Microsoft Teams chat history to HTML, CSV and JSON. Captures Graph API tokens automatically via Chrome DevTools Protocol — no Azure app registration required.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages