#google-apps-script
#google-apps-script
Вопрос:
Во второй половине дня я отчаянно пытаюсь заставить скрипт работать, и, насколько я вижу, он должен работать идеально. Я хочу получить список PDF-файлов из исходной папки и скопировать указанные PDF-файлы во вторичную папку. Вот сценарий:
var sourceFolder = DriveApp.getFolderById("source");
var targetFolder = DriveApp.getFolderById("target")
var files = sourceFolder.getFilesByType(MimeType.PDF);
while (files.hasNext()) {
var file = files.next();
file.makeCopy(targetFolder);
}
Я что-то упустил? Нужны ли мне разрешения для использования скриптов Google на диске? Я очень смущен.
Любая помощь будет оценена.
Комментарии:
1. Вы передаете
id
здесь илиname
:DriveApp.getFolderById("source")
? Потому что вам нужно передать идентификатор папок, а не их имя. Кроме того, вы видите какую-либо ошибку? и если да, что это такое?2. Я могу подтвердить, что вы передаете не идентификатор папок, а их имена. Ваш код работает для меня.
Ответ №1:
Согласно Мариосу, упомянутому в комментарии, ваш код действительно работает. Просто убедитесь, что скопировали правильный идентификатор папки.
Ваш код должен выглядеть как приведенный ниже код при включении идентификаторов папок
function myFunction() {
var sourceFolder = DriveApp.getFolderById("0B55C21aJsSBlfk9FTjRqOG8tb3hjR1N4MTU1YjVPNU4weGVhSldfU3F4OXladVVNMF9Ccms");
var targetFolder = DriveApp.getFolderById("1n9PJ_FFlJvlCRdWxHHJiTn4RF6-a1ypE");
var files = sourceFolder.getFilesByType(MimeType.PDF);
while (files.hasNext()) {
var file = files.next();
file.makeCopy(targetFolder);
}
}
Пожалуйста, ознакомьтесь с этим, чтобы узнать, как вы получаете идентификатор папки.
Обратите внимание, что когда вы видите ?key=value
формат, не включайте его и что-либо после этого. Они называются параметрами URL и не являются частью идентификатора папки