Интеграция с Google Drive API
Возможности интеграции с Google Drive
Платформа позволяет выполнять следующие операции с Google Drive:
- загружать файлы
- делать экспорт файлов в различные форматы
- добавлять, удалять папки
- менять права на файлы, папки (расшаривание доступа).
- получать информацию о файле
- искать файлы в Google Disk
- редактировать файлы и просматривать папку через интерфейс
Как настроить интеграцию с Google Drive
- Создать проект на Google Drive WebBrowser (https://developers.google.com/drive/api/v3/quickstart/dotnet) - указываем название приложения. Тип webbrowser, указываем домен.
- Идем в Google API Console / Credentials / Create Credential / Create Service Account. https://console.developers.google.com/apis/credentials?authuser=0&project={projectName}. (Файл credentials.json нам не нужен для работы).
- Для проекта на Api & Services надо сделать Enable API and services и выбрать Google Drive API
- Создать сервис аккаунт - указываем имя, роль Project - Owner
- Переходим в сервисный аккаунт (вида ХХХХХХХХХХ.iam.gserviceaccount.com), создаем ключ (Manage keys/Create new key) и выбираем формат JSON
- Скачиваем ключ-файл JSON
- Положить ключ JSON в /App_data и дать право записи в папку App_data для IIS_USRS
- Создать папку на GD и дать права редактирования для сервисного аккаунта ....iam.gserviceaccount.com
- Указать в Настройках (/settings) следующие настройки:
-
- gd-keyFile - путь к файлу ключу JSON, пример: ~/App_Data/[keyname....].json
- gd-serviceAccount - сервисный аккаунт, пример: XXXX@YYYYYYY-46079803.iam.gserviceaccount.com
- gd-appname - имя приложения, например, falcon
Работа с Google Drive API - выполнение команд
Все действия с Google Drive выполняются через Внешние действия с типом type=gd
В параметре action указывается тип команды.
upload - загрузка файла
Загружает файл и трансформирует по необходимости в Гугл документы.
Параметры:
- filename - имя файла на GD
- filepath - путь к файлу на диске (если файлы docx, xlsx, xls и doc, то они будут преобразованы в документы Google).
- folderId - ID папки родителя для файла
delete - удаление файла
Параметры:
- fileId - идентификатор файла
createfolder - создание папки
Параметры:
- name - название новой папки
- folderId - ID папки-родителя
deletefolder - удаление папки
Параметры:
- folderId - ID папки
- case "deletefolder":
search - поиск файлов и папок по запросу
Параметры:
- q - запрос в специальной форме
- pageSize - размер пагинации
- pageToken - токен пагинации, который управляет какую именно страницу выдать.
- fields - какие поля забираем из API (по умолчанию - nextPageToken, files(id, name, mimeType, fileExtension, kind, modifiedTime, parents, size))
Возвращает структуру данных по найденным файлам и папкам.
Подробнее - https://developers.google.com/drive/api/v3/search-files
getfolder - получение файлов папки
Параметры
- folderId - Id папки
Возвращает коллекцию данных о файлах и папках.
getfile - получение информации о файле
Параметры:
- fileId - идентификатор файла
Возвращает структуру данных по файлу (название, тип, когда создан, папки-родители)
copyfile - копирование файла на GD
Параметры:
- fileId - id исходного файла, который надо скопировать
- name - имя создаваемого файла
- parentFolderId - id папки, куда поместить новый файл.
Возвращает структуру данных по файлу (название, тип, когда создан, папки-родители)
export - экспортирует существующий файл на GD в некий формат
- fileId - ID файла на диске
- exportType - в какой тип экспортировать: pdf, xlsx, docx, html, csv, text (подробнее - https://developers.google.com/drive/api/v3/ref-export-formats)
- path - файл назначения - куда сохранить на диске (/uploads/1.docx)
getpermissions - посмотреть права на файл
Параметры:
- fileId - ID файла или папки на GD
Возвращает коллекцию прав на файл
createpermission - дать права на файл
Параметры:
- permissionType1, permissionType2, permissionType3 - тип права. Возможные значения: user (права для конкретного пользователя), anyone (для всех пользователей).
- email1, email2, email3 - email на который даем право.
- role1, role2, role3 - право доступа. Возможные значения: owner (владелец файла), reader (может читать), writer (может редактировать), commenter (может комментировать).
Если не задан один из permissionTypeX, то соответствующее право не добавляется (т.е. в 1 операции можно до 3 прав за 1 запрос).
deletepermission - удаление права
Параметры:
- fileId - идентификатор файла
- permissionId - идентификатор права
Примеры:
-- DELETE FILE
--select 'gd' type, 'delete' action, '1-o_9JNPhI0QZ1Zo8-vccВOkd-KURyNbiVSFassxD1fA' fileId
-- UPLOAD FILE
select 'gd' type, 'upload' action, '5VUpRfJYN8cbOXxQDZXRe6NHYLtRoUURX' folderId, 'Name 1111' filename, '/uploads/doc-templates/act.docx' filepath
-- CREATE FOLDER
select 'gd' type, 'createfolder' action, 'f1' name, '1VUpRfJSN8cbOXxQDZXRq6NHYLtRoUURX' folderId
-- EXPORT PDF
select 'gd' type, 'export' action, '1JaeBwhGQCD8XIyQDDfqcyyMkzFK0kU5GtWnHEppmIKA' fileId, 'pdf' exportType, '/uploads/e1.pdf' path
Редактирование файла Google Disk на сайте
Используем такой сниппет:
<div class="as-gd" data-fileid="11BVqjf88S8-VDQVuzKcamk9H06mXhyIdOBUP61i6TR4"></div>
Внедряется iframe с редактированием этого файла.
Параметры:
- data-fileID - id файла на GD.
- data-type - document (если это документ типа Word) или spreadsheet (если это таблица типа Excel)
- data-height - устанавливает высоту для выводимого frame (по умолчанию 650).
- data-view - можно указать minimal для более компактного вывода
Просмотр папки Google Disk на сайте
Используем сниппет:
<div class="as-gd" data-folderid="1sxSsGi7ED2EIoT3SZOkLFwxbU8hYByio" data-view="list"></div>
Параметры:
- data-folderID - id каталога на GD.
- data-height - устанавливает высоту для выводимого frame (по умолчанию 650).
- data-view - вид вывода списка (grid, list)
Как получить прямую ссылку картинки с Google Drive
Допустим, у вас есть картинка на GD. Чтобы получить прямую ссылку на файл подставьте свой fileId в следующую ссылку:
- https://lh3.googleusercontent.com/d/{fileID}=w800-h600-no - большая картинка
- https://lh3.googleusercontent.com/d/{fileID}=s220 - малая картинка
Примеры:
https://lh3.googleusercontent.com/d/199q2vnTb_30Cm9A8YxrB96z-CqdJCnpV=w800-h600-no
https://lh3.googleusercontent.com/d/199q2vnTb_30Cm9A8YxrB96z-CqdJCnpV=s220
Google поиск по нашей документации
- Руководства
- Основа Falcon Space
- Основные компоненты
- Возможности
- Коммуникация с пользователем
- Дизайн, стилизация, юзабилити
- Лендинги
- Универсальный API
- Примеры интеграций
- Каталоги
- Навигация
- Документы Импорт-экспорт на сайте через Excel Генерация документов Docx и Xlsx. Выгрузка Excel, Word по шаблону Таблица. Стилизация Excel при выгрузке таблицы в MS Excel Проверка орфографии в тексте через Яндекс Speller Как создать выгрузку документа в Excel через форму с последующей загрузкой на Google Disk и скачиваем в формате PDF Интеграция с Google Drive API Как docx файл конвертировать в pdf (LibreOffice, powershell)
- Дополнительные компоненты
- Продвижение, SEO
- Системные моменты
- Системное администрирование
- HOWTO
- Таблицы
- Формы
- Загрузка файлов, картинок
- Работа с SQL
- HOWTO JS
- HOWTO Верстка
- Решение проблем
Выгода от использования Falcon Space
В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
- Шаг 1. Создать концепт проекта
- Шаг 2. Получить оценку бюджета (КП)
- Шаг 3. Заключить договор
- Шаг 4. Создать совместно техническое задание
- Шаг 5. Поэтапная реализация проекта