apps-script - создайте новый google do c в существующей папке - PullRequest
0 голосов
/ 21 января 2020

Я создаю google do c из скрипта приложений следующим образом:

var newDoc = DocumentApp.create(docName);

Я хочу, чтобы этот новый документ был создан в существующей папке на моем диске. Я попробовал следующий способ:

var dir = DriveApp.getFolderById("folder-id");
dir.addFile(newDoc);

Но я получаю ошибку как:

ReferenceError: "DocsList" is not defined.

Есть ли способ создать новый документ в моей существующей папке или переместить мой файл в существующую папку через скрипт приложения? Любая помощь будет оценена.

1 Ответ

2 голосов
/ 21 января 2020

Folder.addFile() требует, чтобы вы передали ему Файл , но DocumentApp.create() возвращает Документ . Что вам нужно сделать, это использовать newDoc.getId(), чтобы получить его уникальный идентификатор, а затем использовать его в DriveApp.getFileById(), чтобы правильно переместить файл.

var newDoc = DocumentApp.create(docName); // Create a Document
var docFile = DriveApp.getFileById(newDoc.getId()); // Get Document as File

var dir = DriveApp.getFolderById("folder-id"); // Get the folder
dir.addFile(docFile);  // Add the file to the folder

DriveApp.getRootFolder().removeFile(docFile); // Optionally remove the file from root

Обратите также внимание, что файлы Google Диска могут существовать в нескольких папках. Поэтому, если вы хотите, чтобы файл был указан только в папке «folder-id», вам нужно удалить его из папки root, в которой он был создан по умолчанию.

...