Интеграция с кнопкой "Создать" в интерфейсе Диска

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

Затем приложение получает набор переменных шаблона по умолчанию в параметре state. По умолчанию для нового URL-адреса задаются следующие значения state:

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

Выходные данные включают следующие значения:

  • create – выполняемое действие. Значение create используется, когда пользователь нажимает кнопку Создать в интерфейсе Диска.
  • FOLDER_ID – идентификатор родительской папки.
  • FOLDER_RESOURCE_KEY – ключ ресурса родительской папки.
  • USER_ID – идентификатор профиля, который уникальным образом идентифицирует пользователя.

Приложение должно выполнить этот запрос, следуя приведенным ниже инструкциям.

  1. Убедитесь, что в поле action указано значение create.
  2. Используйте значение userId, чтобы создать новый сеанс для пользователя. Подробнее о пользователях, вошедших в аккаунт, и новых событиях…
  3. Используйте метод files.create, чтобы создать ресурс файла. Если в запросе было задано значение folderId, укажите его folderId в поле parents.
  4. Если в запросе задан параметр folderResourceKey, задайте заголовок запроса X-Goog-Drive-Resource-Keys. Подробнее о доступе к файлам по ссылке с помощью ключей ресурсов…

Параметр state закодирован в URL, поэтому ваше приложение должно обрабатывать экранирующие символы и анализировать его как JSON.

Пользователи и новые события

Приложения Диска должны обрабатывать все события создания как потенциальные входы. У некоторых пользователей может быть несколько аккаунтов, поэтому идентификатор пользователя в параметре state может не совпадать с текущим сеансом. Если идентификатор пользователя в параметре state не соответствует текущему сеансу, завершите текущий сеанс для приложения и войдите в аккаунт нужного пользователя.