Этот документ содержит информацию об авторизации и аутентификации, специфичную для API Google Диска. Перед прочтением этого документа обязательно ознакомьтесь с общей информацией об аутентификации и авторизации в Google Workspace в разделе «Узнайте об аутентификации и авторизации» .
Настройте OAuth 2.0 для авторизации
Настройте экран согласия OAuth и выберите области действия , чтобы определить, какая информация будет отображаться пользователям и рецензентам приложения, а также зарегистрируйте свое приложение, чтобы вы могли опубликовать его позже.
Области применения API привода
Чтобы определить уровень доступа, предоставляемый вашему приложению, необходимо определить и объявить области авторизации . Область авторизации — это строка URI OAuth 2.0, содержащая название приложения Google Workspace, тип данных, к которым оно получает доступ, и уровень доступа. Области авторизации — это запросы вашего приложения на работу с данными Google Workspace, включая данные учётных записей Google пользователей.
При установке вашего приложения пользователю предлагается подтвердить используемые им области действия. Как правило, следует выбирать максимально узкую область действия и избегать запроса областей действия, которые не требуются вашему приложению. Пользователи охотнее предоставляют доступ к ограниченным, чётко описанным областям действия.
По возможности мы рекомендуем использовать неконфиденциальные области, поскольку это обеспечивает область доступа к каждому файлу и сужает доступ к определенным функциям, необходимым приложению.
API Drive поддерживает следующие области действия:
Код области действия | Описание | Использование |
---|---|---|
https://www.googleapis.com/auth/drive.appdata | Просматривайте и управляйте данными конфигурации приложения на Google Диске. | Рекомендуется Нечувствительный |
https://www.googleapis.com/auth/drive.install | Разрешить приложениям появляться в качестве опций в меню «Открыть с помощью» или «Новый». | Рекомендуется Нечувствительный |
https://www.googleapis.com/auth/drive.file | Создавайте новые файлы на Диске или изменяйте существующие файлы, которые вы открываете с помощью приложения или которыми пользователь делится с приложением, используя API Google Picker или средство выбора файлов приложения. | Рекомендуется Нечувствительный |
https://www.googleapis.com/auth/drive.apps.readonly | Просмотр приложений, имеющих доступ к вашему Диску. | Чувствительный |
https://www.googleapis.com/auth/drive | Просмотр и управление всеми файлами на Диске. | Ограниченный |
https://www.googleapis.com/auth/drive.readonly | Просматривайте и загружайте все файлы на Диске. | Ограниченный |
https://www.googleapis.com/auth/drive.activity | Просмотр и добавление записей об активности файлов на вашем Диске. | Ограниченный |
https://www.googleapis.com/auth/drive.activity.readonly | Просматривайте историю активности файлов на вашем Диске. | Ограниченный |
https://www.googleapis.com/auth/drive.meet.readonly | Просмотр файлов Диска, созданных или отредактированных Google Meet. | Ограниченный |
https://www.googleapis.com/auth/drive.metadata | Просмотр и управление метаданными файлов на вашем Диске. | Ограниченный |
https://www.googleapis.com/auth/drive.metadata.readonly | Просмотр метаданных файлов на вашем Диске. | Ограниченный |
https://www.googleapis.com/auth/drive.scripts | Измените поведение скриптов Google Apps Script. | Ограниченный |
Столбец «Использование» в таблице выше указывает чувствительность каждой области в соответствии со следующими определениями:
Рекомендуемые/неконфиденциальные : эти области предоставляют минимальный доступ к авторизации и требуют только базовой проверки приложения. Подробнее об этом требовании см. в разделе «Требования к проверке» .
Рекомендуемые/конфиденциальные : эти области предоставляют доступ к определённым данным пользователя Google, которые были авторизованы пользователем для вашего приложения. Для этого требуется дополнительная проверка приложения. Подробнее об этом требовании см. в разделе «Требования к конфиденциальным и ограниченным областям» .
Ограниченный доступ : эти области предоставляют широкий доступ к пользовательским данным Google и требуют прохождения процедуры проверки ограниченной области действия. Подробнее об этом требовании см. в разделе «Политика в отношении пользовательских данных сервисов API Google» и «Дополнительные требования к конкретным областям действия API» . Если вы храните (или передаете) данные ограниченной области действия на серверах, вам необходимо пройти оценку безопасности.
Если вашему приложению требуется доступ к другим API Google, вы также можете добавить эти области действия. Подробнее об областях действия API Google см. в статье «Использование OAuth 2.0 для доступа к API Google» .
Дополнительную информацию о конкретных областях действия OAuth 2.0 см. в разделе Области действия OAuth 2.0 для API Google .
Где объявлять области действия
Для API Диска требуются области действия как в консоли Google Cloud, так и при инициализации API в вашем коде.
В консоли Google Cloud необходимо указать области действия, необходимые вашему приложению, в конфигурации экрана согласия OAuth. Это самый высокий уровень разрешений, который ваше приложение может запросить. Это служит формальным запросом к Google, и именно заявленные области действия отображаются для пользователей на экране согласия. Это позволяет пользователю точно понимать, к каким данным и действиям ваше приложение запрашивает доступ. Подробнее см. в статье «Настройка экрана согласия OAuth и выбор областей действия» .
При запуске API в коде необходимо явно запросить конкретные области действия, необходимые для данного сеанса. Хотя Google Cloud Console определяет максимальный уровень разрешений, которые может запросить ваше приложение, код определяет фактические разрешения для конкретного пользователя. Это помогает гарантировать, что приложение запрашивает только те разрешения, которые необходимы для конкретной задачи.
Оцените все области действия API Drive и запрашивайте только те, которые наиболее специфичны для функций вашего приложения. Пользователи с большей вероятностью предоставят доступ к ограниченным, четко описанным областям действия.
Как объявлять области действия в коде
Вы можете объявить одну или несколько областей OAuth одновременно в коде вашего приложения в виде массива. В следующем примере кода показано, как объявить несколько областей OAuth:
Ява
List<String> SCOPES = Arrays.asList(
DriveScopes.DRIVE_FILE,
DriveScopes.DRIVE_METADATA_READONLY
);
Питон
SCOPES = [
"https://www.googleapis.com/auth/drive.file",
"https://www.googleapis.com/auth/drive.metadata.readonly",
]
Node.js
const SCOPES = [
'https://www.googleapis.com/auth/drive.file',
'https://www.googleapis.com/auth/drive.metadata.readonly'
];
Проверка OAuth
При использовании определённых областей OAuth вашему приложению может потребоваться пройти проверку в справочном центре OAuth App Verification . Ознакомьтесь с часто задаваемыми вопросами о приложении OAuth , чтобы определить, когда и какой тип проверки требуется для вашего приложения. См. также Условия использования Google Диска .
Когда следует использовать ограниченную область действия
Для Диска доступ к ограниченным областям доступа могут иметь только следующие типы приложений:
- Приложения для конкретных платформ и веб-приложения, обеспечивающие локальную синхронизацию или автоматическое резервное копирование файлов Диска пользователей.
- Приложения для повышения производительности труда и образования, пользовательский интерфейс которых может предполагать взаимодействие с файлами Диска (или их метаданными или разрешениями). К приложениям для повышения производительности труда относятся приложения для управления задачами, создания заметок, взаимодействия в рабочих группах и совместной работы в классе.
- Приложения для создания отчетов и обеспечения безопасности, которые предоставляют пользователям или клиентам информацию о том, как осуществляется общий доступ к файлам или к ним осуществляется доступ.
Чтобы продолжить использование ограниченных областей, вам следует подготовить свое приложение к проверке ограниченной области .
Перенести существующее приложение из ограниченных областей
Если вы разработали приложение для Диска, использующее какую-либо из ограниченных областей действия, мы рекомендуем перенести его на неконфиденциальную область действия, поскольку она предоставляет область доступа к каждому файлу и ограничивает доступ к определенным функциям, необходимым приложению. Многие приложения работают с доступом к каждому файлу без каких-либо изменений. Если вы используете собственный инструмент выбора файлов, мы рекомендуем перейти на API Google Picker, который полностью поддерживает различные области действия.
Преимущества области действия OAuth для файлов Диска
Использование области действия OAuth drive.file
и API Google Picker оптимизирует как пользовательский интерфейс, так и безопасность вашего приложения.
Область действия OAuth drive.file
позволяет пользователям выбирать, какими файлами они хотят поделиться с вашим приложением. Это даёт им больше контроля и уверенность в том, что доступ вашего приложения к их файлам ограничен и более безопасен. В отличие от этого, требование широкого доступа ко всем файлам на Диске может отпугнуть пользователей от взаимодействия с вашим приложением. Ниже приведены несколько причин, по которым следует использовать область действия drive.file
:
Удобство использования : область действия
drive.file
работает со всеми ресурсами REST API Drive, что означает, что вы можете использовать ее так же, как и более широкие области действия OAuth.Функции : API Google Picker предоставляет интерфейс, аналогичный интерфейсу Drive UI. Он включает в себя несколько представлений с предпросмотром и миниатюрами файлов Drive, а также встроенное модальное окно, позволяющее пользователям не выходить из основного приложения.
Удобство : Приложения могут применять фильтры к определенным типам файлов Диска (например, Google Docs, Sheets и фотографии) при использовании фильтра для файлов Google Picker .
Кроме того, поскольку drive.file
не является конфиденциальным, он позволяет упростить процесс проверки.
Сохранить токены обновления
Сохраняйте токены обновления в безопасном долгосрочном хранилище и продолжайте использовать их, пока они остаются действительными.