Документ Google Drive API Share для автономной записи / обновления

Я создал веб-приложение, использующее Google Drive API / REST v2 (https://developers.google.com/drive/v2/web/about-sdk) для выполнения таких действий, как создание / обновление / переименование / удаление документов и т. д. Я разрешаю запросы с помощью OAuth 2.0 (на стороне клиента - это означает, что каждый токен доступа действителен в течение ~ 1 часа, а затем я молча получаю новый токен), а затем выполняю предыдущие действия с использованием этого токена.

У меня есть новое требование, чтобы авторизованный пользователь делился своими документами для их написания / обновления (я обнаружил, что API имеет возможность вставлять разрешения (https://developers.google.com/drive/v2/reference/permissions/insert: роль: писатель, тип: любой).

Возможно ли, чтобы неаутентифицированный пользователь мог писать / обновлять документы (программно - через Google Drive API v2 или другой API?), Которые были созданы от аутентифицированного пользователя, который поделился ими? (что-то похожее на google docs / sharing, когда пользователь делится своим документом, а офлайн-пользователи могут его редактировать?

Спасибо.


person spyDeveloper    schedule 12.04.2018    source источник


Ответы (1)


Возможно ли, чтобы неаутентифицированный пользователь мог писать / обновлять документы (программно - через Google Drive API v2 или другой API?), Которые были созданы от аутентифицированного пользователя, который поделился ими? (что-то похожее на google docs / sharing, когда пользователь делится своим документом, а офлайн-пользователи могут его редактировать?

То, что вы здесь описываете, называется учетной записью службы. Учетные записи служб похожи на фиктивных пользователей. Вы можете поделиться файлом в своей учетной записи Google Drive с адресом электронной почты служебных учетных записей, и тогда служебная учетная запись получит доступ к этому файлу. Предполагая, что вы дали им права на редактирование, он сможет читать и писать в него без аутентификации.

Примечание: учетные записи служб не работают на стороне клиента, вам необходимо использовать язык на стороне сервера для использования учетных записей служб.

person DaImTo    schedule 12.04.2018
comment
Спасибо, я запустил небольшой пример и, похоже, работает (я вручную поделился своими документами в учетной записи GDrive с помощью gserviceaccount, а затем получил эти документы через Java GoogleCredentials / DriveService и т. Д. И выполнил некоторые действия по обновлению). Полагаю, совместное использование программным способом тоже возможно? - person spyDeveloper; 12.04.2018
comment
При совместном использовании документа с моей новой учетной записью службы я получаю на свою электронную почту (учетная запись автора google) Уведомление о статусе доставки (сбой) Ответ был: Ошибка DNS: 18579231 Поиск типа DNS "mx" yyyyyyy.iam.gserviceaccount.com ответил с code NXDOMAIN Имя домена не найдено: yyyyyyy.iam.gserviceaccount.com Могу ли я сделать какие-либо настройки, чтобы избежать отправки электронной почты во время совместного использования ?? - person spyDeveloper; 07.05.2018
comment
Нет, я чертовски уверен, что это происходит автоматически. - person DaImTo; 07.05.2018