Как создать приложение для совместной работы, используя Google Диск в качестве хранилища?

Я пишу приложение с JSON в качестве формата файла для хранения данных. Я хочу, чтобы пользователи хранили эти файлы JSON на своем собственном диске Google, чтобы они могли делиться файлами со своими друзьями по своему усмотрению. И их друзья также могут одновременно открыть мое приложение для совместной работы в режиме реального времени.

API Google Диска позволяет приложению создавать и удалять файлы на диске Google пользователей. Но как мое приложение может поддерживать совместную работу, такую ​​как Google Docs или Google Sheets, чтобы 2 или более человек могли работать над одним и тем же файлом, а изменение сохранялось обратно на диск Google и обновлялось на другой стороне в режиме реального времени?


person Cupid Chan    schedule 10.04.2021    source источник


Ответы (1)


Отвечать:

Необходимо создать разрешение для каждого пользователя/группы. вы хотите предоставить доступ к файлу.

Пример:

Используя метод API Permissions.create, вы можете создать разрешения и прикрепите его к файлу.

В следующем примере показано, как предоставить пользователю права на запись с помощью клиента Google API JavaScript:

// Copyright 2021 Google LLC.
// SPDX-License-Identifier: Apache-2.0

function execute() {
  return gapi.client.drive.permissions.create({
    "fileId": "-some-do",
    "resource": {
      "role": "writer",
      "type": "user",
      "emailAddress": "[email protected]"
    }
  })
}

Я надеюсь, что это полезно для вас!

Использованная литература:

person Rafa Guillermo    schedule 12.04.2021
comment
Спасибо @rafa-guillermo. Я вижу, что требуется разрешение, прежде чем люди смогут совместно работать над одним и тем же файлом. Допустим, я создал разрешение для 2 пользователей. Как пользователи могут видеть оперативные обновления от других пользователей, например, что происходит в Google Doc? - person Cupid Chan; 12.04.2021
comment
Если кто-то редактирует документ, то изменения немедленно отображаются для других людей, просматривающих документ, если вы это имеете в виду? - person Rafa Guillermo; 14.04.2021
comment
Это правильно @rafa-guillermo. Это то же самое поведение, что и Google Doc. Знаете ли вы, возможно ли такое сотрудничество в режиме реального времени на основе Drive API? - person Cupid Chan; 15.04.2021
comment
@CupidChan Вам, вероятно, потребуется использовать API Drive Activity (developers.google.com/drive/activity), где вы можете подписаться на изменения файлов и папок. - person Rockiger; 13.06.2021
comment
@RafaGuillermo Если я хочу совместно работать над файлом на общем диске, достаточно ли установить разрешение для домена или мне нужно установить разрешение для каждого отдельного пользователя? - person Rockiger; 13.06.2021