Обзор настольных приложений

API Google Picker позволяет пользователям выбирать и загружать файлы на Google Диск. Пользователи могут предоставить вашим настольным приложениям разрешение на доступ к своим данным на Диске, обеспечивая безопасный и авторизованный способ взаимодействия с файлами.

Google Picker действует как диалоговое окно «Открыть файл» для файлов, хранящихся на Диске, и имеет несколько функций:

  • Внешний вид и функции схожи с пользовательским интерфейсом Google Drive .
  • Несколько представлений, показывающих предварительные просмотры и миниатюрные изображения файлов Диска.
  • Перенаправление на Google Picker в новой вкладке браузера пользователя по умолчанию.

Обратите внимание, что Google Picker не позволяет пользователям упорядочивать, перемещать или копировать файлы из одной папки в другую. Для управления файлами необходимо использовать API Google Drive или интерфейс Drive UI.

Предпосылки

Приложения, использующие Google Picker, должны соответствовать всем действующим Условиям обслуживания . Самое главное, вы должны правильно идентифицировать себя в своих запросах.

У вас также должен быть проект Google Cloud .

Настройте свою среду

Чтобы начать использовать API Google Picker, необходимо настроить свою среду.

Включить API

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

Создать ключ API

Ключ API — это длинная строка, содержащая заглавные и строчные буквы, цифры, символы подчеркивания и дефисы, например, AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe . Этот метод аутентификации используется для анонимного доступа к публично доступным данным, таким как файлы Google Workspace, к которым предоставлен общий доступ с помощью параметра «Любой пользователь Интернета, у которого есть эта ссылка». Подробнее см. в разделе «Управление ключами API» .

Чтобы создать ключ API:

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

    Перейти к учетным данным

  2. Нажмите Создать учетные данные > Ключ API .
  3. Отобразится ваш новый ключ API.
    • Нажмите «Копировать , чтобы скопировать ключ API для использования в коде вашего приложения. Ключ API также можно найти в разделе «Ключи API» учётных данных вашего проекта.
    • Чтобы предотвратить несанкционированное использование, мы рекомендуем ограничить, где и для каких API можно использовать ключ API. Подробнее см. в разделе «Добавление ограничений API» .

Авторизация учетных данных для настольного приложения

Для аутентификации конечных пользователей и доступа к их данным в вашем приложении необходимо создать один или несколько идентификаторов клиента OAuth 2.0. Идентификатор клиента используется для идентификации одного приложения на серверах Google OAuth. Если ваше приложение работает на нескольких платформах, необходимо создать отдельный идентификатор клиента для каждой платформы.
  1. В консоли Google Cloud перейдите в >Google Auth platform > Клиенты .

    Перейти к клиентам

  2. Нажмите «Создать клиента» .
  3. Нажмите Тип приложения > Приложение для ПК .
  4. В поле «Имя» введите имя учётной записи. Оно отображается только в консоли Google Cloud.
  5. Нажмите «Создать» .

    Новые учетные данные появятся в разделе «Идентификаторы клиентов OAuth 2.0».

Чтобы приложения получили ранее предоставленную им авторизацию для файлов, необходимо выполнить следующие шаги:

  1. Вам необходимо получить токен OAuth 2.0 с областью действия drive.file , drive или drive.readonly , следуя инструкциям ниже: Использование OAuth 2.0 для доступа к API Google . Подробнее об областях действия см. в статье Выбор областей действия API Google Drive .

  2. Передайте токен OAuth 2.0 в API Диска для чтения и изменения файлов, к которым пользователь ранее предоставил доступ.

Отобразить Google Picker

API Google Picker для настольных приложений перенаправляет пользователя в Google Picker в новой вкладке браузера по умолчанию. После того, как пользователь предоставит доступ и выберет нужные файлы, Google Picker вернется в вызывающее приложение через URL-адрес обратного вызова. Чтобы открыть API Google Picker на клиентской странице, используйте API Google Picker для веб-приложений. Подробнее см. в разделе «Обзор веб-приложений» .

Чтобы разрешить пользователям предоставлять доступ к дополнительным файлам или выбирать файлы для использования в потоке настольного приложения, выполните следующие действия:

  1. Запросите доступ к области действия drive.file , чтобы открыть страницу доступа OAuth 2.0 в новой вкладке браузера, следуя инструкциям: Использование OAuth 2.0 для доступа к API Google . Подробнее об областях действия см. в разделе Выбор областей действия API Google Drive .

    Обратите внимание, что для настольных приложений разрешена только область drive.file , и ее нельзя комбинировать с какой-либо другой областью.

  2. URL-адрес новой вкладки браузера принимает все стандартные параметры строки запроса OAuth .

    Необходимо добавить параметры URL prompt и trigger_onepick к URL-запросу авторизации OAuth 2.0. Вы также можете настроить Google Picker, используя несколько дополнительных параметров:

    Параметр Описание Статус
    prompt=consent Запросить доступ к файлу. Необходимый
    trigger_onepick=true Включите Google Picker. Необходимый
    allow_multiple=true Если true, разрешить пользователю выбирать несколько файлов. Необязательный
    mimetypes= MIMETYPES Список MIME-типов, разделенных запятыми, для фильтрации результатов поиска. Если не задано, в представлении отображаются файлы для всех MIME-типов. Необязательный
    file_ids= FILE_IDS Список идентификаторов файлов, разделенных запятыми, для фильтрации результатов поиска. Если не задано, в представлении отображаются все файлы. Необязательный

    В следующем примере показан URL-запрос авторизации OAuth 2.0:

    https://accounts.google.com/o/oauth2/v2/auth? \
    client_id=CLIENT_ID \
    &scope=https://www.googleapis.com/auth/drive.file \
    &redirect_uri=REDIRECT_URI \
    &response_type=code \
    &access_type=offline \
    &prompt=consent \
    &trigger_onepick=true
    

    Заменить следующее:

    • CLIENT_ID : идентификатор клиента вашего настольного приложения.

    • REDIRECT_URI : куда сервер авторизации перенаправляет браузер пользователя после успешной аутентификации. Например, https://www.cymbalgroup.com/oauth2callback .

      Указанный redirect_uri должен быть публичным URL-адресом HTTPS. Если вы хотите использовать для redirect_uri пользовательский протокол или URL-адрес локального хоста, необходимо использовать публичный URL-адрес HTTPS, который затем перенаправляет на пользовательский протокол или URL-адрес локального хоста.

  3. Как только пользователь предоставляет доступ и выбирает соответствующие файлы, OAuth перенаправляет его на redirect_uri , указанный в запросе, со следующими добавленными параметрами URL:

    • picked_file_ids : если пользователь предоставил доступ и выбрал файлы, список выбранных идентификаторов файлов, разделенных запятыми.

    • code : токен доступа или код доступа, основанный на параметре response_type , заданном в запросе. Этот параметр включает новый код авторизации .

    • scope : область действия, включенная в запрос.

    • error : если пользователь отменил запрос в процессе получения согласия, отображается ошибка.

    В следующем примере показан ответ URL-адреса авторизации OAuth 2.0:

    https://REDIRECT_URI?picked_file_ids=PICKED_FILE_IDS&code=CODE&scope=SCOPES
    
  4. Приложения должны обменять код авторизации из шага 3 на новый токен OAuth 2.0. Подробнее см. в статье «Обмен кодом авторизации для токенов обновления и доступа» .

  5. Затем приложения могут использовать идентификаторы файлов из параметра URL на шаге 3 и токен OAuth 2.0, полученный на шаге 4, для вызова API Диска. Подробнее см. в разделе «Обзор API Google Диска» .