Переместить файл с диска в папку TeamDrive - PullRequest
0 голосов
/ 17 апреля 2019

Я бы хотел перенести файл из MyDrive в TeamDrive со скриптом из AppmMaker.Я использую DriveApp для создания файла в MyDrive и с помощью виджета DrivePicker от appmaker я получаю идентификатор из целевой папки для сохранения файла.DriveApp может перемещать файл в TeamDrive с помощью

var file = DriveApp.getFileById(fileId);
var parentFolder = DriveApp.getFolderById(TEAM_DRIVE_ID);
parentFolder.addFile(file);

, но не в папках в TeamDrive.

Я пытаюсь использовать этот код:

function moveFileToFolder(fileIds, newFolderId) {  
  var file = Drive.Files.get(fileIds, {supportTeamDrives: true,supportsTeamDrives: true});

  Drive.Files.patch(file, fileIds, {
    removeParents: file.parents.map(function(f) { return f.id; }),
    addParents: [newFolderId],
    supportTeamDrives: true,
    supportsTeamDrives: true
  });
}

У меня естьошибка «Ограничения общего доступа не могут быть установлены для элемента Team Drive».

Ссылка: Как переместить файл из MyDrive в Team Drive?

(решение проблемыссылка не работает, потому что я хочу переместить ее в папку в teamdrive, а не непосредственно в teamdrive)

Любая идея?

1 Ответ

0 голосов
/ 17 апреля 2019

В метаданных файла есть параметр, который нужно изменить, потому что файл диска и файл Team Drive не совпадают.Вы можете изменить его с помощью

var file = Drive.Files.get(FileId);
file.capabilities.canMoveTeamDriveItem = true;

А после просто переместите его с помощью

var fileDriveApp = DriveApp.getFileById(FileId); 
fileDriveApp.getParents().next().removeFile(fileDriveApp);
var folder = DriveApp.getFolderById(foldersId);
folder.addFile(fileDriveApp);

Ссылка: https://developers.google.com/drive/api/v3/reference/files

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...