Простые автоматизации для Google Drive

Простые автоматизации для Google Drive

Сегодня мы научимся применять несколько простых скриптов для наведения порядка в облачном хранилище и сбора информации о документах. Даже если вы не имеете привычки использовать сервисы Google, это не значит, что статья будет бесполезной для вас.

Хранимые в Google Drive файлы можно быстро синхронизировать с жестким диском своего компьютера, а через него – с другими облачными сервисами.

Как использовать скрипты из статьи

  1. Заходим на docs.google.com и авторизируемся;
  2. Создаем новую таблицу;
  3. Открываем Инструменты ->Редактор скриптов;
  4. Копируем в окошко код из примеров и вносим необходимые правки;
  5. Запускаем скрипт и предоставляем ему все разрешения.

Получаем список файлов на диске

Google Drive появился три года назад. У многих пользователей за этот короткий срок успел образоваться необозримый бардак. Просто у сервиса есть две особенности, которые способствует воцарению хаоса в аккаунте юзера:

  • В одном каталоге можно создавать файлы и папки с одинаковыми именами;
  • Все документы, которые отправляются по почте, автоматически оказываются на Google Drive.

Этот скрипт просматривает 100 последних измененных файлов на Google Drive и записывает в таблицу имя, дату создания, тип файла, размер, уникальный ID и дату последнего изменения для каждого документа.

С помощью полученной таблицы можно быстро обозреть содержимое диска и отобрать список файлов для дальнейшей обработки (её примеры будут даны ниже).

[jscript] function fileList() [/jscript]

Запустив данный скрипт, вы увидите, что Google Apps Script работает с файлами очень медленно. Каждое заполнение строки таблицы можно отследить визуально. В примерах дается код для обработки только 100 файлов, так просмотр всех документов может несколько десятков минут.

Если вам нужно обработать все документы на диске, необходимо морально подготовиться и вместо 100-кратной итерации использовать другой способ перебора файлов:

[jscript] files = DriveApp.getFiles(); while (files.hasNext()) [/jscript]

Узнаем, кто имеет доступ к файлам

Для каждого файла на Google Drive можно указать конкретных пользователей, которые имеют право на просмотр, а также тех, кто имеет право на редактирование. Этот скрипт поможет автоматически отобразить в ячейках таблицы список представителей обоих категорий:

[jscript] function filesSharing() [/jscript]

Проверяем, нет ли файлов в общем доступе

Файлам на Google Drive можно присваивать различные типы прав доступа: «доступен только владельцу», «доступен приглашенным пользователям», «доступен всем у кого есть ссылка» и «доступен всем в интернете». Если у документа настроить последний тип прав (а это легко сделать по неосторожности), то он попадет в поисковую выдачу Google. Случайные люди смогут его найти и просмотреть.

Проверить, нет ли таких в вашем хранилище, можно с помощью этого скрипта:

[jscript] function fileAcess() [/jscript]

Предоставляем пользователю доступ к файлам

Иногда бывают ситуации, когда человеку необходимо предоставить доступ к нескольким десяткам документов, лежащим в разных папках. Делать это вручную долго и неудобно. Лучше получить список всех файлов первым примером кода в статье (чтобы в столбце E были ID документов), по-быстрому выбрать из них нужные и пройтись по ним этим скриптом:

[jscript] function addEditor() > [/jscript]

Решаем пользователя доступа к файлам

Бывает и обратная ситуация. К примеру, когда сотрудник увольняется из компании, надо резко лишить его доступа ко всем рабочим документам. Для этого применяется скрипт, обратный вышеприведенному.

В этом случае необходимо убедиться, что в столбце E есть уникальные идентификаторы документов.

[jscript] function removeEditor() > [/jscript]

Создаем новые папки

Довольно удобный способ хранения файлов — разложить их по временным периодам. Этот скрипт создаст папки для разных годов и положит в них файлы с соответствующей датой создания:

[jscript] function createFolders() > [/jscript]

Если знаете другие полезные скрипты для Google Drive, пишите их в комментариях, спасибо!

📎📎📎📎📎📎📎📎📎📎