Передача Specifi c файлов / папок через Google Admin SDK API - PullRequest
0 голосов
/ 22 января 2020

Google API Admin SDK Передача данных: можно найти здесь

Мне удалось успешно скопировать все файлы из одной учетной записи Google в другую, но я хочу скопировать только 1 указанный c файл. Области и разрешения указаны правильно.

Тело успешного запроса API для перемещения всех файлов:

{
  "oldOwnerUserId": "{ID transferring from}",
  "newOwnerUserId": "{ID Transferring to}",
  "applicationDataTransfers": [    
    {
      "applicationId": "{Google Drive Application ID}"
    }
  ]
}

Идентификатор папки Google Drive, которую я хочу скопировать, - 1HCrNywrvoUly_MrYndR , Как я могу адаптировать этот код для передачи только через эту папку Google Диска?

В качестве альтернативы, есть ли способ создать папки по умолчанию в учетных записях других пользователей через API Google? Мне нужно создать набор пустых папок для каждого нового пользователя, который создает учетную запись и не смог найти способ создания папок в других учетных записях с помощью Google Drive API. Этот обходной путь заключается в создании всех папок на моем Google Диске, а затем с помощью API Admin SDK для отправки заполненной папки новому пользователю.

Ответы [ 2 ]

0 голосов
/ 30 января 2020

Поработав, я нашел решение, которое было менее сложным, чем использование учетной записи службы Google. Все, что вам нужно, - это учетные данные администратора.

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

0 голосов
/ 22 января 2020

Ответ:

В API Admin SDK нет методов, позволяющих скопировать один файл или папку с диска одной учетной записи пользователя на другой. Для этого вы должны использовать Google Drive API.

Дополнительная информация:

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

Что нужно знать:

  • Для создания файлов / папок вам потребуется использовать методы delete и add Drive API, а не чем копировать их.
  • Если в папке есть файлы, которые вы sh хотите скопировать, вам нужно будет скопировать их рекурсивно во вновь созданную папку.
  • Вы можете получить список файлов в папке, используя list метод Drive: files в API.

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

Ссылки:

...