Настройка интеграции пользовательского интерфейса Drive

Чтобы ваше приложение отображалось на Google Диске, когда пользователь создает или открывает файл, вам необходимо сначала настроить интеграцию пользовательского интерфейса Диска. Настройка также необходима для размещения вашего приложения в Google Workspace Marketplace .

Включить API Диска

Прежде чем использовать API Google, необходимо включить их в проекте Google Cloud. Вы можете включить один или несколько API в одном проекте Google Cloud.

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

Настройте интеграцию пользовательского интерфейса Диска

  1. В консоли Google API перейдите в Меню > API и службы > Включенные API и службы .

    Перейдите в раздел «Включенные API и сервисы».

  2. В нижней части панели API и сервисов нажмите Google Drive API . Появится страница конфигурации API Google Диска.
  3. Выберите вкладку «Интеграция пользовательского интерфейса Drive» .
  4. (Необязательно) Введите имя в поле Имя приложения . Название приложения отображается пользователям на вкладке «Управление приложениями» в настройках Диска.
  5. (Необязательно) Введите краткое однострочное описание в поле Краткое описание . Краткое описание отображается пользователям на вкладке «Управление приложениями» в настройках Диска.
  6. (Необязательно) Введите полное описание в поле Полное описание .
  7. Загрузите один или несколько значков приложений , чтобы они отображались в списке подключенных приложений Диска пользователя и в контекстном меню «Открыть с помощью». Иконки должны быть в формате PNG с прозрачным фоном. Значки могут появиться на Диске в течение 24 часов.

  8. Чтобы использовать пункт меню «Открыть с помощью» пользовательского интерфейса Drive , введите URL-адрес своего приложения в поле «Открыть URL-адрес» . Этот URL-адрес используется контекстным меню «Открыть с помощью».

    • Этот URL-адрес должен содержать полное доменное имя; localhost не работает.
    • Этот URL-адрес должен быть доступен предполагаемым пользователям вашего приложения. Если у вас есть несколько версий приложения, например одна для общедоступного выпуска и одна для ограниченного выпуска для избранных пользователей, каждая версия должна использовать уникальный URL-адрес. Затем вы можете создать разные конфигурации приложения для каждой версии.
    • Вам необходимо подтвердить право собственности на этот URL , прежде чем вы сможете разместить свое приложение в Google Workspace Marketplace.
    • По умолчанию к этому URL-адресу добавляется параметр запроса state для передачи данных из пользовательского интерфейса Диска в ваше приложение. Информацию о содержимом параметра state см. в разделе Параметр state .
  9. (Необязательно) Введите типы MIME по умолчанию и расширения файлов в полях Типы MIME по умолчанию и Расширения файлов по умолчанию . Типы MIME и расширения файлов по умолчанию представляют файлы, которые ваше приложение специально создано для открытия. Например, ваше приложение может открыть встроенный формат для наложения слоев и редактирования изображений. Включайте только стандартные типы мультимедиа и убедитесь, что в них нет опечаток и орфографических ошибок. Если ваше приложение открывает только файлы ярлыков или сторонние ярлыки, вы можете оставить тип MIME пустым.

  10. (Необязательно) Введите вторичные типы MIME и расширения файлов в поля Вторичные типы MIME и Вторичные расширения файлов . Вторичные типы MIME и расширения файлов представляют файлы, которые ваше приложение может открыть, но не относятся к вашему приложению. Например, ваше приложение может быть приложением для редактирования изображений, которое открывает изображения PNG и JPG. Включайте только стандартные типы мультимедиа и убедитесь, что в них нет опечаток и орфографических ошибок. Если ваше приложение открывает только файлы ярлыков или сторонние ярлыки, вы можете оставить тип MIME пустым.

  11. Чтобы использовать кнопку «Создать» в пользовательском интерфейсе Диска и позволить пользователям создавать файлы с вашим приложением, установите флажок «Создание файлов ». Появятся поля Новый URL-адрес и дополнительные поля Имя документа .

    • Этот URL-адрес должен содержать полное доменное имя; localhost не работает.
    • Вам необходимо подтвердить право собственности на этот URL , прежде чем вы сможете разместить свое приложение в Google Workspace Marketplace.
    • По умолчанию к этому URL-адресу добавляется параметр запроса state для передачи данных из пользовательского интерфейса Диска в ваше приложение. Информацию о содержимом параметра state см. в разделе Параметр state .
  12. Введите URL-адрес в поле Новый URL-адрес . Этот URL-адрес используется кнопкой «Новый» для перенаправления пользователя в ваше приложение.

  13. (Необязательно) Если вы хотите, чтобы ваше приложение открывало файлы, поддерживаемые Google Workspace, установите флажок «Импорт» .

  14. (Необязательно) Если ваше приложение должно управлять файлами на общих дисках, установите флажок Поддержка общих дисков . Дополнительную информацию о поддержке общих дисков в вашем приложении см. в разделе Реализация поддержки общих дисков .

  15. Нажмите «Отправить» .

Запросить область действия drive.install

Чтобы приложения отображались в качестве опции в меню «Открыть с помощью» или «Новое», запросите область https://www.googleapis.com/auth/drive.install для интеграции с пользовательским интерфейсом Диска. При запросе этой области пользователи получают диалоговое окно, подобное этому:

Диалоговое окно установки пользовательского интерфейса Google Диска.
Рисунок 1. Диалоговое окно установки при использовании областей для пользовательского интерфейса Drive.

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

Параметр state

По умолчанию параметр state добавляется как к открытому URL-адресу, так и к новому URL-адресу для передачи данных из пользовательского интерфейса Диска в ваше приложение. Этот параметр содержит строку в формате JSON с переменными шаблона и данными о запросе к вашему приложению. Включенные переменные зависят от типа используемого URL-адреса (Открытый URL-адрес или Новый URL-адрес):

Переменная шаблона Описание URL-приложение
{ids} Список идентификаторов открываемых файлов, разделенный запятыми. Открыть URL-адрес
{exportIds} Список идентификаторов экспортируемых файлов, разделенный запятыми (используется только при открытии встроенных документов Google). Открыть URL-адрес
{resourceKeys} Словарь JSON идентификаторов файлов, сопоставленных с соответствующими ключами ресурсов. Открыть URL-адрес
{folderId} Идентификатор родительской папки. Новый URL-адрес
{folderResourceKey} Ключ ресурса родительской папки. Новый URL-адрес
{userId} Идентификатор профиля, идентифицирующий пользователя. Открыть URL-адрес и новый URL-адрес
{action} Выполняемое действие. Значение open при использовании открытого URL-адреса или create при использовании нового URL-адреса. Открыть URL-адрес и новый URL-адрес

Параметр state закодирован в URL-адресе, поэтому ваше приложение должно обрабатывать escape-символы и анализировать их как JSON. Приложения могут обнаружить значение create в параметре state , чтобы проверить запрос на создание файла.

Пример информации о состоянии в формате JSON для нового URL-адреса

Информация о state нового URL-адреса:

{
  "action":"create",
  "folderId":"FOLDER_ID",
  "folderResourceKey":"FOLDER_RESOURCE_KEY",
  "userId":"USER_ID"
}

Пример информации о состоянии в формате JSON для открытого URL-адреса

Информация о state открытого URL-адреса:

{
  "ids": ["ID"],
  "resourceKeys":{"RESOURCE_KEYS":"RESOURCE_KEYS"},
  "action":"open",
  "userId":"USER_ID"
}

Идентификаторы и ключи ресурсов используются для получения метаданных файла и загрузки содержимого файла. Как только ваше приложение получит идентификатор файла и токен доступа, оно сможет проверять разрешения, получать метаданные файла и загружать содержимое файла, как описано в методе files.get .

Установленное приложение должно иметь возможность создавать, управлять и открывать действия, запускаемые из пользовательского интерфейса Drive. Дополнительные сведения см. в разделах Интеграция с кнопкой «Создать» пользовательского интерфейса Drive или Интеграция с контекстным меню «Открыть с помощью» пользовательского интерфейса Drive .