API Google Picker позволяет пользователям выбирать или загружать файлы из Google Диска. Пользователи могут предоставлять вашим настольным приложениям разрешение на доступ к своим данным в Диске, обеспечивая безопасный и авторизованный способ взаимодействия с файлами.
Инструмент Google Picker выступает в роли диалогового окна «Открыть файл» для файлов, хранящихся на Google Диске, и обладает рядом функций:
- Похожий внешний вид и функциональность на интерфейс Google Drive .
- Несколько вариантов отображения, показывающих предварительный просмотр и миниатюрные изображения файлов Google Drive.
- Перенаправление на Google Picker в новой вкладке браузера пользователя по умолчанию.
Обратите внимание, что Google Picker не позволяет пользователям упорядочивать, перемещать или копировать файлы из одной папки в другую. Для управления файлами необходимо использовать либо API Google Drive , либо пользовательский интерфейс Drive.
Предварительные требования
Приложения, использующие Google Picker, должны соблюдать все действующие Условия предоставления услуг . Самое важное – вы должны корректно указывать свои данные в запросах.
У вас также должен быть проект в Google Cloud .
Настройте свою среду
Для начала использования API Google Picker необходимо настроить рабочую среду.
Включить API
Перед использованием API Google необходимо включить их в проекте Google Cloud. В одном проекте Google Cloud можно включить один или несколько API.В консоли Google Cloud включите API Google Picker.
Создайте ключ API
Ключ API представляет собой длинную строку, содержащую буквы верхнего и нижнего регистра, цифры, символы подчеркивания и дефисы, например, AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe . Этот метод аутентификации используется для анонимного доступа к общедоступным данным, таким как файлы Google Workspace, предоставленные с помощью параметра общего доступа «Любой пользователь в Интернете по этой ссылке». Для получения более подробной информации см. раздел «Управление ключами API» .
Для создания ключа API:
- В консоли Google Cloud перейдите в > API и сервисы > Учетные данные .
- Нажмите «Создать учетные данные» > «Ключ API» .
- Ваш новый API-ключ отображен.
- Нажмите «Копировать , чтобы скопировать свой API-ключ для использования в коде вашего приложения. API-ключ также можно найти в разделе «API-ключи» в учетных данных вашего проекта.
- Для предотвращения несанкционированного использования мы рекомендуем ограничить места и типы API, для которых можно использовать ключ API. Более подробную информацию см. в разделе «Добавление ограничений API» .
Авторизация учетных данных для настольного приложения
Для аутентификации конечных пользователей и доступа к пользовательским данным в вашем приложении необходимо создать один или несколько идентификаторов клиента OAuth 2.0. Идентификатор клиента используется для идентификации отдельного приложения на серверах OAuth Google. Если ваше приложение работает на нескольких платформах, необходимо создать отдельный идентификатор клиента для каждой платформы.- В консоли Google Cloud перейдите в >Google Auth platform > Клиенты .
- Нажмите «Создать клиента» .
- Выберите «Тип приложения» > «Настольное приложение» .
- В поле «Имя» введите имя для учетных данных. Это имя отображается только в консоли Google Cloud.
- Нажмите «Создать» .
Вновь созданные учетные данные отображаются в разделе "Идентификаторы клиентов OAuth 2.0".
Для того чтобы приложения получили разрешение на доступ к файлам, ранее им предоставленным, необходимо выполнить следующие шаги:
Для доступа к API Google Drive необходимо получить токен OAuth 2.0 с областью действия
drive.file,driveилиdrive.readonly, следуя этим инструкциям: Использование OAuth 2.0 для доступа к API Google . Дополнительную информацию об областях действия см. в разделе «Выбор областей действия API Google Drive» .Передайте токен OAuth 2.0 в API Google Диска, чтобы читать и изменять файлы, к которым пользователь ранее предоставил доступ.
Отобразить Google Выбор
API Google Picker для настольных приложений перенаправляет пользователя на Google Picker в новой вкладке браузера по умолчанию. После того, как пользователь предоставит доступ и выберет необходимые файлы, Google Picker вернется к вызывающему приложению через URL-адрес обратного вызова. Чтобы открыть API Google Picker на клиентской странице, используйте API Google Picker для веб-приложений. Дополнительную информацию см. в разделе «Обзор веб-приложений» .
Чтобы разрешить пользователям предоставлять доступ к дополнительным файлам или выбирать файлы для использования в рабочем процессе вашего настольного приложения, выполните следующие действия:
Чтобы открыть страницу доступа OAuth 2.0 в новой вкладке браузера, запросите доступ к области
drive.file, используя следующие инструкции: Использование OAuth 2.0 для доступа к API Google . Дополнительную информацию об областях действия см. в разделе «Выбор областей действия API Google Drive» .Обратите внимание, что для настольных приложений разрешена только область
drive.file, и её нельзя комбинировать с какой-либо другой областью видимости.URL-адрес новой вкладки браузера принимает все стандартные параметры строки запроса OAuth .
Необходимо добавить параметры URL-адреса
promptиtrigger_onepickк запросу авторизации OAuth 2.0. Вы также можете настроить Google Picker с помощью нескольких необязательных параметров:Параметр Описание Статус prompt=consentЗапрос на доступ к файлу. Необходимый trigger_onepick=trueВключите Google Picker. Необходимый allow_multiple=trueЕсли это так, разрешите пользователю выбирать несколько файлов. Необязательный mimetypes= MIMETYPESСписок MIME-типов , разделенных запятыми, для фильтрации результатов поиска. Если не указан, в представлении отображаются файлы всех MIME-типов. Необязательный file_ids= FILE_IDSСписок идентификаторов файлов, разделенных запятыми, для фильтрации результатов поиска. Если не указан, в представлении отображаются все файлы. Необязательный allow_folder_selection=trueЕсли это так, разрешите пользователю также выбирать папки. Необязательный В следующем примере показан запрос 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. Если вы хотите использовать пользовательский протокол или URL-адрес localhost дляredirect_uri, вам необходимо использовать общедоступный URL-адрес HTTPS, который затем будет перенаправлять на пользовательский протокол или URL-адрес localhost.После того как пользователь предоставит доступ и выберет необходимые файлы, 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Приложения должны обменять код авторизации из шага 3 на новый токен OAuth 2.0. Для получения дополнительной информации см. раздел «Обмен кода авторизации на токены обновления и доступа» .
Затем приложения могут использовать идентификаторы файлов из параметра URL на шаге 3 и токен OAuth 2.0, полученный на шаге 4, для вызова API Google Drive. Для получения дополнительной информации см. обзор API Google Drive .