Apps Script не работает для извлечения диска - PullRequest
0 голосов
/ 23 октября 2018

Я довольно новичок в платформе.

Я попытался создать скрипт Google Apps, чтобы получить информацию о файле из папки Google.Я снова нашел скрипт из Stack Overflow.

Он работал все хорошо, пока не возникла ошибка при запуске.Я не могу диагностировать то же самое.

Я сейчас создал копию того же самого файла.

В этом файле есть лист с именем "Журналы сценариев", в который заносятся данные.

Сценарий называется «Файлы дисков».В котором должна быть запущена функция listAll.

При запуске я проверяю регистраторы и нахожу «Исключение: неверное значение»

Сведения из извлекаемого файла являютсянемного конфиденциально, и поэтому я не поделился.

Скриншот ошибки

Пожалуйста, помогите мне исправить код.Файл находится по этой ссылке.

https://docs.google.com/spreadsheets/d/1ktUe3qyf-TJp4K_FC8ELzLgh5q7jNRCP8YJF-z2li4A/edit?usp=sharing Ниже приведен код, используемый для него.

/** 
* Google Apps Script - List all files & folders in a Google Drive folder, 
& write into a speadsheet.
*    - Main function 1: List all folders
*    - Main function 2: List all files & folders
* 
* Hint: Set your folder ID first! You may copy the folder ID from the 
browser's address field. 
*       The folder ID is everything after the 'folders/' portion of the 
URL.
* 
* @version 1.0
* @see     https://github.com/mesgarpour
*/

// TODO: Set folder ID
var folderId = '0B_BwvZZtlhP4OFNTeUhLX2NCWk0';

// Main function 1: List all folders, & write into the current sheet.
function listFolers(){
getFolderTree(folderId, false);
};

// Main function 2: List all files & folders, & write into the current 
sheet.
function listAll(){
getFolderTree(folderId, true); 
};

// =================
// Get Folder Tree
function getFolderTree(folderId, listAll) {
try {
// Get folder by id
var parentFolder = DriveApp.getFolderById(folderId);

// Initialise the sheet
var file, data, sheet = SpreadsheetApp.openById("d/1qP7AoydxJs7IkiURkLKkOzUSxTd1Ha8jLmETBq54zgI").getSheetByName("Script Logs")
sheet.clear();
sheet.appendRow(["Full Path", "Name", "Date", "URL", "Last Updated", 
"Description", "Size"]);

// Get files and folders
getChildFolders(parentFolder.getName(), parentFolder, data, sheet, 
listAll);

} catch (e) {
Logger.log(e.toString());
}
};

// Get the list of files and folders and their metadata in recursive mode
function getChildFolders(parentName, parent, data, sheet, listAll) {
var childFolders = parent.getFolders();

// List folders inside the folder
while (childFolders.hasNext()) {
var childFolder = childFolders.next();
// Logger.log("Folder Name: " + childFolder.getName());

data = [ 
  parentName + "/" + childFolder.getName(),
  childFolder.getName(),
  childFolder.getDateCreated(),
  childFolder.getUrl(),
  childFolder.getLastUpdated(),
  childFolder.getDescription(),
  childFolder.getSize() / 1024,
];
// Write
sheet.appendRow(data);

// List files inside the folder
var files = childFolder.getFiles();
while (listAll & files.hasNext()) {
  var childFile = files.next();
  // Logger.log("File Name: " + childFile.getName());
  data = [ 
    parentName + "/" + childFolder.getName() + "/" + childFile.getName(),
    childFile.getName(),
    childFile.getDateCreated(),
    childFile.getUrl(),
    childFile.getLastUpdated(),
    childFile.getDescription(),
    childFile.getSize() / 1024, 

  ];
  // Write
  sheet.appendRow(data);
}

// Recursive call of the subfolder
getChildFolders(parentName + "/" + childFolder.getName(), childFolder, 
data, sheet, listAll);  
} 
};

Заранее спасибо.

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