Как авторизовать приложение в google drive
Администратор может разрешить пользователям открывать файлы на Диске с помощью сторонних приложений и скриптов Google Apps Script, которые работают с Google Drive API. Такие приложения (например, из каталога Google Workspace Marketplace) позволяют редактировать изображения и видео, подписывать документы и отправлять их по факсу, управлять проектами, создавать схемы и т. д.
Вы также можете разрешить пользователям в организации программный доступ (с помощью Drive API) к контенту на Диске в вашем домене.
Как разрешить сторонним приложениям работать с файлами на Google Диске
На главной странице консоли администратора выберите ПриложенияGoogle WorkspaceДиск и Документы. Чтобы применить настройки ко всем пользователям, выберите организационное подразделение верхнего уровня. В противном случае выберите дочернее организационное подразделение или группу конфигурации.Эта функция доступна в версиях Business Standard и Plus, Enterprise, Education Fundamentals, Standard, Teaching and Learning Upgrade и Plus, G Suite Business, Nonprofits, Essentials. Сравнение версий
Таким образом вы разрешаете пользователям делать следующее:
- открывать файлы Диска с помощью сторонних приложений и скриптов, использующих Drive API;
- создавать программы или скрипты с помощью Drive API для доступа к данным в вашем домене.
Важно! Все сторонние приложения, которые используют Drive API, в том числе приложения из Google Workspace Marketplace, не будут работать, если эта настройка отключена. Продолжать работать только приложения из Google Workspace, которые установлены администратором. Подробнее о том, как установить приложения из каталога Marketplace и управлять ими…
Поддержка сторонних приложений
Компания Google не предоставляет поддержку сторонних приложений. В случае возникновения проблем с ними обращайтесь к их разработчику. Сведения о том, как связаться с разработчиками сторонних приложений, можно найти в статье Приложения для Google Диска.
Мое веб-приложение хранит данные в localStorage . Это было удобно, пока не захотелось, чтобы пользователь, заходя на сайт с разных устройств, видел одно и то же. То есть, понадобилось удаленное хранилище.
Но приложение «хостится» на GitHub Pages и не имеет серверной части. Я решил не делать сервер, а данные хранить у третьей стороны. Это дает существенные преимущества:
- Не нужно платить за сервер, не болит голова о его стабильности и доступности.
- Меньше кода, меньше ошибок.
- Пользователю не нужно регистрироваться в моем приложении (это многих раздражает).
- Приватность выше, и пользователь знает, что его данные хранятся в месте, которому он, скорее всего, доверяет больше, чем мне.
В итоге решил использовать Google Drive напрямую, и Google API Client Library (далее GAPI) как библиотеку для доступа к нему.
Надеюсь, данная статья сэкономит вам время, если вы решите использовать Google Drive в вашем приложении.
Далее идет описание получения ключей для работы с Google API. Если вам это неинтересно, переходите сразу к следующей части.
В Google Developer Console создаем новый проект, вводим имя.
В «Панели управления» нажимаем «Включить API и сервисы» и включаем Google Drive.
Далее переходим в раздел API и Сервисы -> Учетные данные, нажимаем «Создание учетных данных». Там нужно сделать три вещи:
Здесь мы закончили. Переходим к коду.
Рекомендованный Google способ подключения GAPI — вставить следующий код в свой HTML:
После загрузки библиотеки будет вызвана функция initClient , которую мы должны написать сами. Типичный ее вид таков:
Для хранения данных мы будем использовать так называемую Application Data folder. Ее преимущества перед обычной папкой:
- Пользователь не видит ее напрямую: файлы из нее не засоряют его личное пространство, и он не может испортить наши данные.
- Другие приложения ее не видят и тоже не могут испортить.
- Scope, указанный выше, дает приложению доступ к ней, но не дает доступа к остальным файлам пользователя. То есть, мы не отпугнем человека запросами на доступ к его личным данным.
- Начинает ловить события логина/логаута — скорее всего, это нужно делать всегда.
- Инициализирует приложение. Это можно делать до загрузки и инициализации GAPI — как вам удобнее. У меня процедура инициализации несколько отличалась в случае, если Google недоступен. Кто-то может сказать, что такого не бывает :) Но, во-первых, вы можете намудрить с ключами и правами доступа в будущем. Во-вторых, например, в Китае Google забанен.
Результаты логина получите в обработчике onSignIn :
К сожалению, работа с файлами не так очевидна.
GAPI не возвращает нормальных Promise’ов. Вместо этого, используется собственный интерфейс Thennable, который похож на промисы, но не совсем. Поэтому для удобства работы (главным образом, чтобы использовать async/await ), сделаем небольшой хелпер:
Эта функция принимает первым аргументом метод GAPI и параметры к нему и возвращает Promise. Дальше будет видно, как ее использовать.
Нужно всегда помнить, что имя файла на Google Drive не является уникальным. Можно создавать сколько угодно файлов и папок с одинаковыми именами. Уникальным является только идентификатор.
Для базовых задач не нужна работа с папками, поэтому все функции ниже работают с файлами в корне Application Data folder. В комментариях указано, что нужно изменить для работы с папками. Документация от Google здесь.
Создание пустого файла
Эта асинхронная функция создает пустой файл и возвращает его идентификатор (строку). Если такой файл уже существует, будет создан новый файл с таким же именем, и будет возвращен его ID. Если вы этого не хотите, нужно сначала проверить, что файла с таким именем нет (см. ниже).
Google Drive не является полноценной базой данных. Например, если вам нужно, чтобы несколько пользователей работали из-под одного Google-аккаунта одновременно с разных устройств, могут возникнуть проблемы с разрешением конфликтов из-за отсутствия транзакций. Для таких задач лучше не использовать Google Drive.
Работа с содержимым файлов
GAPI (для браузерного JavaScript) не предоставляет методов работы с содержимым файлов (очень странно, не правда ли?). Вместо этого есть общий метод request (тонкая обертка над простым AJAX-запросом).
Методом проб и ошибок я пришел к следующим реализациям:
Поиск файлов
Эта функция, если не указывать query , возвращает все файлы в папке приложения (массив объектов с полями id и name ), отсортированные по времени создания.
При указании строки query (синтаксис описан здесь) она вернет только файлы, удовлетворяющие запросу. Например, чтобы проверить, существует ли файл с именем config.json , нужно сделать
Удаление файлов
Эта функция удаляет файл по ID и возвращает true , если он успешно удален, и false , если такого файла не было.
Желательно, чтобы программа работала в первую очередь с localStorage , а Google Drive использовался только для синхронизации данных из localStorage .
Ниже предложена простая стратегия синхронизации конфигурации:
- Новая конфигурация скачивается с Google Drive при логине, и затем каждые 3 минуты, перезаписывая локальную копию;
- Локальные изменения заливаются на Google Drive, перезаписывая то, что там было;
- fileID конфигурации кэшируется в localStorage для ускорения работы и уменьшения количества запросов;
- Корректно обрабатываются (ошибочные) ситуации, когда на Google Drive есть несколько файлов конфигураци, и когда кто-то удалил наш файл конфигурациию или испортил его.
- Детали синхронизации не влияют на остальной код приложения. Для работы с конфигурацией вы используете только две функции: getConfig() и saveConfig(newConfig) .
Мне кажется, хранилище данных для веб-сайта на Google Drive отлично подоходит для небольших проектов и прототипирования. Оно не только просто в реализации и поддержке, но и способствует уменьшению количества ненужных сущностей во Вселенной. А моя статья, надеюсь, поможет вам сэкономить время, если вы выберете этот путь.
Поговорим о Google Drive. Разберемся, как функционирует этот сервис, что он умеет, зачем нужен и чем отличается от других инструментов для совместной работы.
Как работает Google Drive
Google Drive («Гугл Драйв») — это не просто облачное хранилище компании Google, а большой набор инструментов для совместного редактирования документов и обмена файлами.
Принцип работы Google Drive мало отличается от такового в Dropbox или в iCloud Drive. Это жесткий диск, при этом не особо вместительный жесткий диск, но зато доступный с любого устройства и в любой момент времени, когда есть выход в интернет.
Google Drive, как и его конкуренты, поддерживает много различных форматов файлов, включая офисные документы всех сортов (таблицы, презентации) и медиафайлы (видеоролики, mp3-композиции).
«Облако Гугл» используют по-разному: кто-то перемещает файлы между гаджетами, кто-то создает на нем резервные копии данных, но чаще всего он используется для совместной работы в виде аналога Microsoft Office.
Основные приложения Google Drive
Google Drive состоит из компонентов-приложений. Каждое из них позволяет совместно работать над каким-либо проектом.
Google Docs — самое популярное приложение, аналог Microsoft Word с возможностью совместно оформлять текст, оставлять комментарии, проверять грамматическую составляющую и т.п.
Google Sheets — аналог Microsoft Excel, но менее функциональный. Подходит для базового планирования и расчета бюджета.
Google Slides — аналог Microsoft PowerPoint. Позволяет создавать красочные презентации прямо в браузере.
Google Forms — инструмент для создания опросников. Отлично подходит для проведения масштабных исследований и получения обратной связи от клиентов.
Google Drawings — то же, что и Google Docs, только не для букв, а для рисунков. Далеко не ProCreate или Фотошоп, но тоже достаточно удобный инструмент для рисования в команде.
Google Sites — служба быстрой разработки веб-сайтов для тех, кто не обладает познаниями в области верстки и программирования.
Google Keep — мультиплатформенная утилита для создания заметок в браузере и на мобильных устройствах.
Google My Maps — утилита для создания собственных карт прямо в браузере.
Google Jamboard — инструмент для совместной работы над мультфильмами.
Основные функции Google Drive
У Google Drive много сценариев использования, но в первую очередь речь идет о хранении файлов. По умолчанию Google дарит клиентам 15 Гбайт пространства, разрешает использовать их безвозмездно и хранить на диске все что угодно.
Второй популярный сценарий использования — совместная работа. Люди часто делятся документами из Google Drive друг с другом. Иногда редактируют их вместе, а иногда просто отправляют ссылку на свой диск, чтобы поделиться файлами с другими.
Как использовать Google Drive?
Чтобы начать работу в Диске, понадобится только учетная запись Google. Ее можно за пару минут создать в любом сервисе корпорации, пройдя несложную процедуру регистрации.
После регистрации нужно зайти на официальный сайт сервиса и выбрать одно из доступных приложений.
Сразу отмечу, что не все приложения доступны на главной странице. Для перехода в Google Drawings, Google Keep или Google Sites придется воспользоваться формой для создания файлов в Гугл Диске, прямыми ссылками на сервисы или поисковиком.
Загрузка и создание файлов
Открыть Google Диск.
Нажать на кнопку «Создать».
Из выпавшего списка выбрать пункт «Загрузить файлы» или «Загрузить папку».
Затем выбрать файл или папку, которую нужно загрузить в облачное хранилище.
Для создания файлов нужно проделать почти то же, только вместо пунктов «Загрузить файлы» или «Загрузить папку» надо выбрать одно из приложений Google Drive.
Часть приложений скрывается за кнопкой «Еще», а для доступа к Google Keep нужно напрямую заходить на официальный сайт заметочника.
Организация документов и папок
Процесс организации документов на Гугл Диске почти не отличается от аналогичного на локальном диске. Те же папки, те же инструменты, поддержка Drag & Drop для перемещения файлов с помощью мыши и т.п.
Чтобы закинуть файл в папку, нужно просто потянуть его на эту директорию. Чтобы переименовать файл или пометить его как избранный, нужно кликнуть по нему правой кнопкой мыши, а потом выбрать нужный пункт из контекстного меню.
Совместная работа
В Google Drive можно буквально в два клика предоставить доступ к документу, над которым вы работаете, другим пользователям: на проверку, для ознакомления или для совместного редактирования.
Чтобы это сделать:
Нужно открыть документ, которым вы хотите поделиться.
Нажать на кнопку «Настройки доступа» в верхнем правом углу.
Затем кликнуть по кнопке «Изменить», чтобы сгенерировать ссылку на документ и поменять уровень доступа.
Как можно получить доступ к Google Drive?
Обычно Google Drive используют на компьютере и заходят на него через соответствующий веб-сайт. Но не все знают, что Google Drive можно использовать на разных устройствах в виде приложения.
Google разработала официальные приложения для Docs, Slides, Sheets и Keep, так что этими сервисами можно пользоваться на смартфоне без необходимости заходить на сайт и пользоваться веб-интерфейсом, который на мобильных устройствах всегда реализован не очень качественно.
Второй вариант — подключение диска напрямую к программам Explorer и Finder. Это приложения, отвечающие за работу с файлами в Windows и macOS соответственно. У Google есть утилита Backup & Sync для обеих систем. Достаточно скачать ее, установить и ввести данные своей учетной записи. На компьютере тут же появится папка, в которой хранятся все ваши документы из Google Drive, и эта папка синхронизируется в обе стороны.
Дополнительные советы по работе с Google Drive
Помимо базовых функций, в Google Drive есть ряд неочевидных, но полезных возможностей.
Например, сервис тесно интегрирован в Gmail. Прямо из почтового клиента Google можно выбирать файлы с онлайн-диска и отправлять их своим собеседникам. Это удобнее, чем сначала скачивать файл на компьютер, а только потом подгружать его в письмо.
Даже если вы скачали утилиту Backup & Sync вы все равно можете пользоваться документами из Google Drive даже без интернета. Для этого нужно:
Перейти в настройки диска.
Поставить галочку напротив строки «Офлайн-доступ».
Правда, эта опция доступна не во всех браузерах. Скорее всего, придется скачать Google Chrome.
Также в настройках есть опция «Преобразовывать загруженные файлы в формат Google», которая превращает загруженные на Гугл Диск документы форматов .docx, .pptp и .xls в форматы, подходящие для редактирования в интерфейсе Google Drive.
Дополнительные приложения и сервисы для работы с Google Drive
Помимо собственных сервисов и приложений, Google предлагает дополнительные инструменты от сторонних разработчиков.
К примеру, можно скачать аддоны, которые позволят преобразовывать файлы в форматы, недоступные по умолчанию. Все аддоны доступны в магазине Chrome Web Store.
Также Google Drive можно интегрировать в другие популярные приложения. Есть версия онлайн-хранилища для Trello, Slack, Evernote и множества других программ, часто использующихся в бизнес-среде. Обычно об их существовании можно узнать непосредственно на сайте разработчика программы.
Вместо заключения
Как видите, Google Drive — это не просто надежное хранилище данных в интернете, а огромная экосистема инструментов для совместной онлайн-работы. Удобная, кроссплатформенная и бесплатная. И начать работать с ней действительно легко – нужен только профиль Google и современный браузер.
Файловый поток Google Диска может перестать работать в основном из-за поврежденного кэша или из-за устаревшего приложения OS / File Stream. Ограничения сети также могут вызвать проблемы с синхронизацией файлового потока Google Диска. Однако, согласно нашему исследованию, нет конкретной причины проблемы, и она может быть вызвана в соответствии с предпочтениями и конфигурациями каждого пользователя.
Обычно проблемы носят в основном технический характер и связаны с вашей учетной записью, а не с самим Google Диском. Прежде чем мы начнем с конкретных решений, убедитесь, что вы проходите через общие обходные пути. Кроме того, убедитесь, что эти условия выполняются, прежде чем продолжить:
Прежде чем мы углубимся в более технические решения, давайте попробуем несколько основных шагов по устранению неполадок.
Обычно это не проблема, но оказывается, что настройка Google Chrome в качестве браузера по умолчанию помогает в некоторых случаях. Кроме того, проверьте, не используется ли системой буква диска, которую вы пытаетесь использовать для Файлового потока. Если это так, измените букву диска в настройках приложения File Stream.
Решения (от 1 до 6) являются общими и могут использоваться как в MacOS (от 10 до 12), так и в операционной системе Windows (7-9).
1. Переименуйте папку DriveFS
Кеш используется приложениями для ускорения работы. Google Drive File Stream также использует кэшированную папку. Если эта папка кэша повреждена, то это может быть причиной текущей ошибки Google File Stream. В этом случае удаление (или переименование) папки кэша может решить проблему.
- Выйдите из приложения Google Drive File Stream.
- Теперь запустите Терминал в macOS и Командную строку в Windows.
- Введите следующий путь и нажмите Return
- Теперь найдите и переименуйте папку DriveFS (или удалите ее)
- Перезагрузите вашу систему.
- Теперь запустите приложение File Stream и проверьте, решена ли проблема.
2. Обновите свою ОС и приложение File Stream
Устаревшая ОС также может вызвать проблемы с Google File Stream. Кроме того, выпущено обновление ОС для улучшения производительности и исправления известных ошибок. В этом случае обновление вашей ОС может решить проблему.
3. Измените свою сеть или используйте VPN
Интернет-провайдеры используют различные методы для управления веб-трафиком и защиты своих пользователей, но в ходе этого процесса некоторые легальные службы блокируются интернет-провайдерами, и то же самое может иметь место в приложении Google Drive File Stream. Чтобы исключить это, измените свою сеть (вы можете использовать точку доступа вашего мобильного телефона) или использовать VPN.
4. Отключите антивирус и брандмауэр
Ваши антивирусные и брандмауэрные приложения являются вашими партнерами в обеспечении безопасности вашего ПК. Однако эти приложения имеют известную историю блокирования законных операций приложений. Чтобы исключить это, будет хорошей идеей либо отключить антивирусные программы / брандмауэры, либо добавить исключение для Google File Stream. Для иллюстрации мы обсудим процесс для ПК с Windows.
Предупреждение. Отключите антивирусные и брандмауэрные приложения на свой страх и риск, так как этот шаг сделает вашу систему более уязвимой для таких угроз, как вирусы, вредоносное ПО и т. Д.
- Отключите антивирус и отключите брандмауэр вашей системы.
- Теперь проверьте, работает ли файловый поток нормально.
- Если это так, то добавьте исключение для Google File Stream в настройках своего антивируса / брандмауэра.
5. Удалите Chrome Remote Desktop (программное обеспечение Screen Scraper)
Файловый поток Google Диска просто не может сосуществовать с любым программным обеспечением для обмена, таким как Chrome Remote Desktop, которое, как известно, вызывает проблемы в работе Файлового потока Google Диска. В этом случае удаление программного обеспечения «Общий доступ к экрану» / Chrome Remote Desktop может решить проблему.
Обязательно выключите и снова включите компьютер, прежде чем снова открыть File Stream.
6. Используйте Google Drive File Stream через другого пользователя
Если у вас ничего не получилось, возможно, проблема связана с используемой вами учетной записью. В этом случае создайте другого пользователя с правами администратора и используйте поток файлов Google Drive через вновь созданного пользователя.
- Создайте нового пользователя с правами администратора. (Для macOS вы также должны создать пользователя с правами администратора).
- Затем запустите Google Drive File Stream во вновь созданной учетной записи пользователя и проверьте, решена ли проблема.
Для Windows:
7. Отключите другую версию облачной службы Google
- Выйдите из приложения Google File Stream и завершите все запущенные процессы.
- Выйдите из Google Backup и Sync и убейте все запущенные процессы через диспетчер задач.Выйти из резервного копирования и синхронизации
- Теперь запустите приложение Google File Stream и проверьте, решена ли проблема.
8. Удалите приложение Google File Stream и переустановите обновленную версию.
Если вы используете старую версию приложения File Stream, это может быть причиной обсуждаемой проблемы. В этом случае удаление более старой версии приложения может решить проблему. В качестве иллюстрации мы обсудим процесс для Windows, вы можете следовать инструкциям, относящимся к вашей ОС.
- Сделайте резервную копию важных файлов из вашей папки Google Stream File в более безопасном месте. Все файлы, которые не были синхронизированы, будут потеряны навсегда, если их не сохранить.
- Откройте поток файлов с Google Диска и нажмите «Еще» (три вертикальные точки).
- Затем нажмите «Выйти».
- Снова, в Файловом потоке Google Диска, нажмите More, а затем нажмите Quit.Выйти из потока файлов Google Диска
- Теперь щелкните правой кнопкой мыши на панели задач и выберите диспетчер задач.Открыть диспетчер задач
- Затем в окне диспетчера задач найдите и щелкните правой кнопкой мыши процесс, связанный с приложением Google File Stream.
- Теперь выберите Завершить процесс.
- Повторите этот процесс для всех других процессов, связанных с приложением Google File Stream.
- Теперь нажмите клавишу Windows и введите Панель управления. Затем в результатах поиска нажмите на панель управления.Открытая панель управления
- Затем в окне панели управления нажмите «Удалить программу».Удалить программу
- Теперь в списке установленных программ найдите и щелкните правой кнопкой мыши приложение Google File Stream.
- Затем нажмите «Удалить».
- Теперь следуйте инструкциям на экране, чтобы завершить процесс удаления.
- Затем нажмите клавишу Windows и введите «Выполнить». Теперь в результатах поиска нажмите Run.Открытая команда запуска
- Введите следующую команду в поле «Выполнить» и нажмите Enter
% USERPROFILE% AppData Local Google
(Для Mac: расположение папки DriveFS
/ Библиотека / Поддержка приложений / Google)
- Теперь найдите и щелкните правой кнопкой мыши папку DriveFS, а затем нажмите «Удалить» (вы также можете переименовать папку)Удалить папку DriveFS
- Затем перезагрузите вашу систему.
- Теперь запустите приложение Google File Stream и проверьте, решена ли проблема.
- Сейчас же скачать официальная настройка Google File Stream с сайта Google.
- После завершения загрузки установите загруженный файл, следуя инструкциям на экране.
- После завершения процесса установки войдите в Google File Stream.
9. Сохраните файлы Google Drive File Stream в автономном режиме
Google Drive File Stream использует отдельный виртуальный сетевой том вашей корпоративной сети, и файлы могут быть загружены по требованию. Это особенно полезно, когда у вас прерывистое подключение к Интернету, так как вам не нужно подключение к Интернету для доступа к виртуальному сетевому объему Google File Stream (не так, как Документы, листы и слайды Google). Но если существует сбой связи между томом виртуальной сети Google File Stream и вашей системой, то приложение Google File Stream может не работать. Чтобы устранить эту проблему, рекомендуется загрузить файлы в автономном режиме.
- В Проводнике файлов откройте Google Stream File Stream.Откройте Google Drive File Stream в проводнике
- Теперь выберите и щелкните правой кнопкой мыши любой из файлов или папок, а затем выберите Drive File Stream.
- Затем в подменю нажмите «Доступно в автономном режиме».
Сделайте файлы на Google Drive доступными в автономном режиме - Теперь проверьте, решена ли проблема
Для MacOS:
10. Отключить Share Screen
Mac имеет функцию, которая позволяет пользователю поделиться своим экраном с другим пользователем Mac. Но из-за ошибки Google Drive File Stream может не работать, если на вашем Mac включена опция общего доступа к экрану. В этом случае отключение общего экрана может решить проблему.
- Выйти из потока файлов.
- Откройте системные настройки вашего Mac.
- Теперь откройте общий доступ.
- Теперь снимите флажок «Общий доступ к экрану».Отключить Share Screen в Mac
- Теперь запустите File Stream и проверьте, решена ли проблема.
11. Разблокируйте поток файлового диска и разрешите полный доступ к диску и доступность
В последних версиях Mac расширение потока файлов Google Drive заблокировано для выполнения, что может остановить работу вашего приложения File Stream. В этом случае разрешение выполнения файлового потока Google Диска может решить проблему. В некоторых случаях пользователи уведомляются, а в некоторых они не уведомляются о блокировке выполнения расширения системы.
12. Используйте режим восстановления и команды терминала
Если у вас ничего не получилось, то будет хорошей идеей отключить функцию macOS, которая блокирует выполнение потока файлов с Google Диска (также известного как чистая загрузка). Вам потребуются права администратора для завершения этого процесса.
Предупреждение: действуйте на свой страх и риск, так как отключение этой функции macOS сделает вашу систему более уязвимой.
Также мы попытаемся авторизовать ваш поток файлов Google Drive в macOS.
spctl kext-согласия отключить
Теперь система должна показывать идентификатор: EQHZ8M8AV
- Снова в терминале наберите и нажмите return: по умолчанию напишите com.google.drivefs.settings ForceBrowserAuth -bool true
/ Библиотека / Приложение Поддержка / Google / DriveFS
sudo chmod a + wx
- Откройте системные настройки вашего Mac.
- Теперь откройте Безопасность и конфиденциальность.
- В разделе «Разрешить загрузку приложений из» включите параметр «Везде» (если он еще не включен). Если этот параметр отсутствует, повторите шаги 1–9 еще раз.Включить опцию Anywhere в конфиденциальности и безопасности
- Кроме того, нажмите «Разрешить» на вкладке «Общие» в разделе «Конфиденциальность и безопасность» (если это не сделано в решении, рассмотренном выше).
- Затем откройте Системные настройки вашего Mac.
- Теперь откройте Безопасность и конфиденциальность.
- Затем откройте «Конфиденциальность» и на вкладке специальных возможностей удалите приложение Google Drive File Stream из списка.Удалить поток файлов Google Диска из специальных возможностей
- Затем добавьте поток файлов Google Диска обратно в список доступности в приватной обстановке.
- Теперь полностью выйдите из Файлового потока Google Диска.
- Перезагрузите вашу систему.
- Теперь перезапустите Google File File Stream и проверьте, решена ли проблема.
Работаем с файлами в Google Apps Script.
Сегодня мы научимся применять несколько простых скриптов для наведения порядка в облачном хранилище и сбора информации о документах. Даже если вы не имеете привычки использовать сервисы Google, это не значит, что статья будет бесполезной для вас.
Хранимые в Google Drive файлы можно быстро синхронизировать с жестким диском своего компьютера, а через него – с другими облачными сервисами.
Как использовать скрипты из статьи
Получаем список файлов на диске
Google Drive появился три года назад. У многих пользователей за этот короткий срок успел образоваться необозримый бардак. Просто у сервиса есть две особенности, которые способствует воцарению хаоса в аккаунте юзера:
- В одном каталоге можно создавать файлы и папки с одинаковыми именами;
- Все документы, которые отправляются по почте, автоматически оказываются на Google Drive.
Этот скрипт просматривает 100 последних измененных файлов на Google Drive и записывает в таблицу имя, дату создания, тип файла, размер, уникальный ID и дату последнего изменения для каждого документа.
С помощью полученной таблицы можно быстро обозреть содержимое диска и отобрать список файлов для дальнейшей обработки (её примеры будут даны ниже).
[jscript]
function fileList()
currentSheet = SpreadsheetApp.getActive();
var files = DriveApp.getFiles();
i=1;
for(i=1;i<=100;i++)
files.hasNext();
var file = files.next();
currentSheet.getRange("A"+i).setValue(file.getName());
currentSheet.getRange("B"+i).setValue(file.getDateCreated());
currentSheet.getRange("C"+i).setValue(file.getMimeType());
currentSheet.getRange("D"+i).setValue(file.getSize());
currentSheet.getRange("E"+i).setValue(file.getId());
currentSheet.getRange("F"+i).setValue(file.getLastUpdated());
>
>
[/jscript]
Запустив данный скрипт, вы увидите, что Google Apps Script работает с файлами очень медленно. Каждое заполнение строки таблицы можно отследить визуально. В примерах дается код для обработки только 100 файлов, так просмотр всех документов может несколько десятков минут.
Если вам нужно обработать все документы на диске, необходимо морально подготовиться и вместо 100-кратной итерации использовать другой способ перебора файлов:
[jscript]
files = DriveApp.getFiles();
while (files.hasNext())
>
[/jscript]
Узнаем, кто имеет доступ к файлам
Для каждого файла на Google Drive можно указать конкретных пользователей, которые имеют право на просмотр, а также тех, кто имеет право на редактирование. Этот скрипт поможет автоматически отобразить в ячейках таблицы список представителей обоих категорий:
[jscript]
function filesSharing()
currentSheet = SpreadsheetApp.getActive();
var files = DriveApp.getFiles();
i=1;
j=1;
for(i=1;i<=100;i++)
editors=0;
files.hasNext();
var file = files.next();
currentSheet.getRange("A"+i).setValue(file.getName());
currentSheet.getRange("B"+i).setValue(file.getDateCreated());
currentSheet.getRange("C"+i).setValue(file.getMimeType());
if(file.getEditors().length>0)
for(j=1;j<=file.getEditors().length-1;j++)
editors=editors + ";" + file.getEditors()[j].getEmail();
>
currentSheet.getRange("D"+i).setValue(editors);
>
if(file.getViewers().length>0)
for(j=1;j<=file.getViewers().length-1;j++)
editors=editors + ";" + file.getViewers()[j].getEmail();
>
currentSheet.getRange("E"+i).setValue(editors);
>
>
>
[/jscript]
Проверяем, нет ли файлов в общем доступе
Файлам на Google Drive можно присваивать различные типы прав доступа: «доступен только владельцу», «доступен приглашенным пользователям», «доступен всем у кого есть ссылка» и «доступен всем в интернете». Если у документа настроить последний тип прав (а это легко сделать по неосторожности), то он попадет в поисковую выдачу Google. Случайные люди смогут его найти и просмотреть.
Проверить, нет ли таких в вашем хранилище, можно с помощью этого скрипта:
[jscript]
function fileAcess()
currentSheet = SpreadsheetApp.getActive();
var files = DriveApp.getFiles();
i=1;
j=1;
for(i=1;i<=100;i++)
files.hasNext();
var file = files.next();
if (file.getSharingAccess()=="ANYONE")
currentSheet.getRange("A"+j).setValue(file.getName());
currentSheet.getRange("B"+j).setValue(file.getDateCreated());
currentSheet.getRange("C"+j).setValue(file.getMimeType());
currentSheet.getRange("D"+j).setValue(file.getSize());
currentSheet.getRange("E"+j).setValue(file.getSharingAccess());
j++;
>
>
>
[/jscript]
Предоставляем пользователю доступ к файлам
Иногда бывают ситуации, когда человеку необходимо предоставить доступ к нескольким десяткам документов, лежащим в разных папках. Делать это вручную долго и неудобно. Лучше получить список всех файлов первым примером кода в статье (чтобы в столбце E были ID документов), по-быстрому выбрать из них нужные и пройтись по ним этим скриптом:
Решаем пользователя доступа к файлам
Бывает и обратная ситуация. К примеру, когда сотрудник увольняется из компании, надо резко лишить его доступа ко всем рабочим документам. Для этого применяется скрипт, обратный вышеприведенному.
В этом случае необходимо убедиться, что в столбце E есть уникальные идентификаторы документов.
Создаем новые папки
Довольно удобный способ хранения файлов — разложить их по временным периодам. Этот скрипт создаст папки для разных годов и положит в них файлы с соответствующей датой создания:
[jscript]
function createFolders()
topFolder = DriveApp.createFolder("Рабочий архив");
for (j=2012;j<=2015;j++)
currentFolder = topFolder.createFolder(i);
for(i=1;i<=10;i++)
date = currentSheet.getRange("B"+i).getValue();
if(date.getYear()==j)
/> file = DriveApp.getFileById(id);
currentFolder.addFile(file);
>
>
>
>
[/jscript]
Если знаете другие полезные скрипты для Google Drive, пишите их в комментариях, спасибо!
(1 голосов, общий рейтинг: 5.00 из 5)Читайте также: