Когда пользователь выбирает файл и нажимает пункт меню «Открыть с помощью» в Drive UI , Drive перенаправляет пользователя на URL-адрес открытия этого приложения, указанный в разделе «Настройка интеграции Drive UI» .
Если при настройке интеграции с Drive UI вы установили флажок «Импорт», пользователь может выбрать комбинацию файлов, специфичных для приложения, и файлов Google Workspace для открытия. При настройке интеграции с Drive UI файлы, специфичные для приложения, определяются в полях «Типы MIME по умолчанию» и «Расширения файлов по умолчанию», а файлы Google Workspace — в полях «Дополнительные типы MIME» и «Дополнительные расширения файлов».
Для каждого файла, который пользователь хочет открыть, Диск проверяет типы MIME на соответствие определенным вами типам MIME по умолчанию и дополнительным типам MIME:
Для типов MIME, указанных в поле «Типы MIME по умолчанию», идентификатор файла передаётся в ваше приложение. Сведения об обработке файлов, специфичных для приложения, см. в разделе Обработка открытых URL-адресов для документов, специфичных для приложения .
Для типов MIME, указанных в поле «Дополнительные типы MIME», интерфейс Диска отображает диалоговое окно с вопросом о том, в какой тип файла преобразовать файл Google Workspace. Например, если вы выбираете файл Google Docs в интерфейсе Диска, а поле «Дополнительные типы MIME» предполагает, что ваше приложение поддерживает форматы text/plain или application/pdf, интерфейс Диска спросит пользователя, нужно ли преобразовать файл в формат Plain Text или PDF.
Информацию об обработке файлов Google Workspace см. в статье Обработка открытого URL-адреса для документов Google Workspace . Список документов Google Workspace и форматов преобразования типов MIME см. в статье Экспорт типов MIME для документов Google Workspace .
Обрабатывать открытый URL для документов, специфичных для приложения
 Как упоминалось в разделе «Настройка интеграции с Drive UI» , ваше приложение получает переменные шаблона с информацией, необходимой для открытия файла. Приложение получает набор переменных шаблона по умолчанию в параметре state . Информация state по умолчанию для URL-адреса Open URL, специфичного для приложения, следующая:
{
  "ids": ["ID"],
  "resourceKeys":{"RESOURCE_KEYS":"RESOURCE_KEYS"},
  "action":"open",
  "userId":"USER_ID"
}
Этот вывод включает в себя следующие значения:
- ID : Идентификатор родительской папки.
 - RESOURCE_KEYS : словарь JSON идентификаторов файлов, сопоставленных с соответствующими ключами ресурсов.
 -  
open: выполняемое действие. Значениеopenпри использовании Open URL. - USER_ID : Идентификатор профиля, который однозначно идентифицирует пользователя.
 
Ваше приложение должно отреагировать на этот запрос, выполнив следующие шаги:
-  Убедитесь, что поле 
actionимеет значениеopenи присутствует полеids. -  Используйте значение 
userIdдля создания нового сеанса для пользователя. Подробнее о вошедших пользователях см. в разделе «Пользователи и новые события» . -  Используйте метод 
files.getдля проверки разрешений, получения метаданных файла и загрузки содержимого файла с использованием значенийID. -  Если в запросе задан 
resourceKeys, установите заголовок запросаX-Goog-Drive-Resource-Keys. Подробнее о ключах ресурсов см. в статье Доступ к файлам, доступным по ссылке, с помощью ключей ресурсов . 
 Параметр state закодирован в URL, поэтому ваше приложение должно обрабатывать экранированные символы и анализировать его как JSON.
Обработка открытого URL для документов Google Workspace
 Как упоминалось в разделе «Настройка интеграции с Drive UI» , ваше приложение получает набор шаблонных переменных по умолчанию в параметре state . Информация state по умолчанию для URL-адреса Google Workspace Open:
{
  "exportIds": ["ID"],
  "resourceKeys":{"RESOURCE_KEYS":"RESOURCE_KEYS"},
  "action":"open",
  "userId":"USER_ID"
}
Этот вывод включает в себя следующие значения:
- EXPORT_ID : список идентификаторов экспортируемых файлов, разделенных запятыми. Используется только при открытии файлов Google Workspace.
 - RESOURCE_KEYS : словарь JSON идентификаторов файлов, сопоставленных с соответствующими ключами ресурсов.
 -  
open: выполняемое действие. Значениеopenпри использовании Open URL. - USER_ID : идентификатор профиля, который идентифицирует пользователя.
 
Ваше приложение должно отреагировать на этот запрос, выполнив следующие шаги:
Убедитесь, что это запрос на открытие файла, обнаружив как значение
openв полеstate, так и наличие поляexportIds.Используйте метод
files.getдля проверки разрешений, получения метаданных файла и определения типа MIME с использованием значенийEXPORT_ID.Конвертируйте содержимое файла с помощью метода
files.export. В следующем примере кода показано, как экспортировать документ Google Workspace в требуемый тип MIME.Если в запросе задан
resourceKey, установите заголовок запросаX-Goog-Drive-Resource-Keys. Подробнее о ключах ресурсов см. в разделе Доступ к файлам, доступным по ссылке, с помощью ключей ресурсов .Ява
Питон
Node.js
PHP
Отображать преобразованные файлы как доступные только для чтения или выводить диалоговое окно, позволяющее пользователю сохранить файл как новый тип файла.
 Параметр state закодирован в URL, поэтому ваше приложение должно обрабатывать экранированные символы и анализировать его как JSON.
Пользователи и новые события
 Приложения Диска должны обрабатывать все события «Открыть с помощью» как потенциальные входы в систему. У некоторых пользователей может быть несколько учётных записей, поэтому идентификатор пользователя в параметре state может не соответствовать текущему сеансу. Если идентификатор пользователя в параметре state не соответствует текущему сеансу, завершите текущий сеанс приложения и войдите в систему как запрошенный пользователь.
Похожие темы
Помимо открытия приложения из пользовательского интерфейса Google Диска, приложения могут отображать средство выбора файлов для выбора содержимого внутри приложения. Подробнее см. в разделе «Средство выбора Google» .