Как мы настроили автоматическое создание папок на Google Диске из личного кабинета
Документы по сделкам (договоры, счета, акты, переписка) накапливаются быстро. Хранить их в базе данных — не вариант, потому что файлы могут быть большими и замедлять базу. Хранить просто в папке на сервере — неудобно для совместной работы. Оптимальное решение — облачное хранилище, например, Google Диск. Мы настроили интеграцию с Google Диском для нескольких проектов: CRM для проектной организации, система учёта документов для юридической компании, маркетплейс для дизайнеров.
При создании нового проекта или заказа система автоматически создаёт папку на Google Диске, настраивает права доступа (кто может смотреть), и туда сохраняются все файлы, сгенерированные PDF, скан-копии. Никаких ручных действий. Расскажу, как это работает и почему это удобнее, чем хранить файлы на сервере.
Почему Google Диск, а не папка на сервере
Простое хранение файлов в папке на сервере (например, в папке App_Data) имеет недостатки:
- При резервном копировании сервера файлы растут в объёме (бэкапы становятся тяжелыми).
- Совместный доступ — дать доступ клиенту к файлу можно только через ссылку, которую нужно сгенерировать вручную.
- Безопасность — если сервер взломают, злоумышленник получит все файлы.
- Масштабирование — при росте объёма файлов (десятки гигабайт) сервер может закончить место на диске.
Google Диск решает эти проблемы:
- Данные хранятся в облаке, резервное копирование — ответственность Google.
- Удобный механизм доступа: можно дать ссылку только на чтение, можно настроить доступ по email.
- 15 ГБ бесплатно, далее — недорогое расширение (около 150 руб/мес за 100 ГБ).
- Есть API, которое позволяет программно создавать папки, загружать файлы, настраивать права.
Мы выбрали Google Диск как основной файловый архив для проектов.
Как работает интеграция с Google Диском из Falcon Space
Интеграция строится на внешних действиях (send_http) и сервисном аккаунте Google. Схема:
- Создаётся сервисный аккаунт в Google Cloud Console (бесплатно). Получается ключ (JSON-файл).
- В Falcon Space настраивается внешнее действие, которое умеет отправлять HTTP-запросы к API Google Диска с авторизацией по этому ключу.
- При создании нового проекта (заказа) в SQL-процедуре вызывается внешнее действие: создать папку с именем «Проект №123» в корневой папке.
- API возвращает ID папки, который сохраняется в таблице projects (поле folder_id).
- При генерации PDF (счёт, акт) или загрузке файла от клиента система вызывает внешнее действие для сохранения файла в эту папку.
- Клиенту в личном кабинете отображается ссылка на папку (или на конкретный файл). Он может открыть её и скачать файлы.
Все действия — через SQL-процедуры и внешние действия. Никакого дополнительного кода на C#.
Реальный кейс: проектная организация (перепланировка помещений)
У компании «ПГСК» было требование: все документы по проекту (договор с партнёром, смета, проект в AutoCAD, акты, переписка) хранить в облаке с доступом для партнёра и инженеров. Раньше они кидали всё в общую папку на сервере, но доступ для партнёров настраивали вручную, часто забывали.
Мы внедрили интеграцию с Google Диском:
- При создании проекта система создаёт папку «Проект №123» в папке компании.
- Права доступа: партнёр (клиент) — только чтение, менеджер — чтение и запись, инженер — чтение и запись.
- При генерации сметы в PDF система сохраняет файл в эту папку, ссылку отправляет партнёру на email.
- Инженер загружает в папку файлы DWG (проект перепланировки).
- Партнёр видит все файлы через браузер (ему не нужен аккаунт в Google, достаточно ссылки).
Результат: ни один документ не потерялся. Партнёры всегда видят актуальную версию. Менеджеры экономят 2-3 часа в неделю, которые раньше тратили на создание папок и шаринг.
Из отзыва: «Теперь не нужно говорить партнёру "скину вам файл вечером". Он сам заходит в папку и качает, когда нужно. Глаза развязаны».
Другие сценарии использования Google Диска
- Хранение фотографий товаров для маркетплейса. Поставщики загружают фото через личный кабинет, система сохраняет их в Google Диск, а ссылки записывает в базу. Экономия места на сервере.
- Бэкап базы данных. Раз в день создаётся резервная копия базы (внутренними средствами SQL Server), и через внешнее действие она сохраняется в Google Диск. Надёжное и дешёвое резервное копирование.
- Обмен файлами между подразделениями. Заказ клиента → автоматически копируется папка для логистов, папка для бухгалтерии.
- Публикация прайс-листов для дилеров. В Google Диске хранится актуальный прайс-лист в Excel, дилеры получают ссылку на него (с ограничением доступа).
Сколько стоит настройка
Интеграция с Google Диском (создание папок, загрузка файлов, права доступа) на Falcon Space:
- Регистрация сервисного аккаунта Google — бесплатно (нужен платёжный аккаунт для превышения квот, но базовых лимитов хватает для малого бизнеса).
- Настройка внешних действий для вызова API Google — 30-50 тыс. руб (если заказываете нам).
- Доработка процедур создания проектов и генерации документов — 50-100 тыс. руб.
- Обучение сотрудников работе с Google Диском через личный кабинет — 10-20 тыс. руб.
Итого: 90-170 тыс. руб за 2-3 недели. Если у вас есть SQL-специалист, он может сделать по документации бесплатно.
Альтернатива: Yandex Диск, Облако Mail.ru, Dropbox — всё подключается аналогично через API. Мы делали интеграцию с Yandex Диском, разница минимальна.
Google Диск — это не «игрушка», а полноценное корпоративное хранилище, доступное через API. Используйте его, чтобы разгрузить сервер и упростить доступ к файлам клиентам и партнёрам.