Интеграция с 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
- Дополнительные компоненты
- Продвижение, SEO
- Системные моменты
- Системное администрирование
- HOWTO
- Таблицы
- Формы
- Загрузка файлов, картинок
- Работа с SQL
- HOWTO JS
- HOWTO Верстка
- Решение проблем
Falcon Space
Это снижение стоимости владения
за счет меньшего количества людей для поддержки и узкого стека разработки. Про снижение стоимости владения продуктом
Это быстрое внесение изменений
по ходу эксплуатации программы. Как создается функционал на платформе
Это простой удобный интерфейс
адаптация под мобильные устройства. Про юзабилити платформы