javascript - 如何将 Google Drive 子文件夹 URL 导入到 Google Sheet
问题描述
我正在尝试将主文件夹中的子文件夹(不是文件)名称和 URL 导入 Google 表格
我尝试处理此代码,但它并没有帮助我完成我的任务。
var SS = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet3");
function getFolderArray(folderId){
var folder = DriveApp.getFolderById(folderId);
var Folders = folder.getFolders();
var FolderList = [];
//Loop though Folders and add names and urls to the array
while (folder.hasNext()){
var Folder = Folders.next();
var FolderName = Folder.getName();
var FolderUrl = Folder.getUrl();
FolderList = FolderList.concat([[FolderName, FolderUrl]]);
}
//See returned FolderList in a log
//Logger.log( FolderList ) //Preview Returned Array
return FolderList
}
//Prints any 2D array to a range that starts with the selected cell
function printArrayToSelection(twoDimArr){
var firstCell = SS.getActiveCell();
var lastCell = firstCell.offset(twoDimArr.length - 1, twoDimArr[0].length - 1);
var destinationRange = SS.getActiveSheet().getRange(
firstCell.getA1Notation() + ':' + lastCell.getA1Notation());
destinationRange.setValues(twoDimArr);
}
//Print the actual data
function printFolderArray(){
printArrayToSelection(getFolderArray('0B4-wws2P3gUhcExqWEI0VTlrNm8'));
}
我能知道出了什么问题吗?
解决方案
尝试
function listOfFoldersByID() {
var folderid = '_______your folder ID___________'; // change FolderID
SpreadsheetApp.getActiveSheet().clear();
SpreadsheetApp.getActiveSheet().appendRow(["parent","folder","URL"]);
try {
var parentFolder =DriveApp.getFolderById(folderid);
listSubFolders(parentFolder,parentFolder.getName());
} catch (e) {
Logger.log(e.toString());
}
}
function listSubFolders(parentFolder,parent) {
var childFolders = parentFolder.getFolders();
while (childFolders.hasNext()) {
var childFolder = childFolders.next();
SpreadsheetApp.getActiveSheet().appendRow([parent,childFolder.getName(),childFolder.getUrl()]);
listSubFolders(childFolder,parent + "|" + childFolder.getName());
}
}
推荐阅读
- json - “用于创建索引的未知键 [_index]”
- unity3d - 盒子对撞机不停止粒子碰撞?
- akka - 即使作业正在运行,Flink 作业提交也会失败
- angular - Electron-Angular:由于角度组件内未定义的 ipcRenderer 导致运行 Karma 错误
- maven - 我在哪里可以找到使用 JitPack 的 GitHub 版本的正确版本号?
- reactjs - 为子目录强制重定向到 HTTPS
- xml - 需要将label属性带入title
- node.js - 在 Microsoft BotFramework v4 node.js 中使用 Luis 连接对话框
- laravel - Laravel 5.8 带密码重置的电子邮件验证
- scala - 将 Spark 数据帧转换为类似格式的 scala 字典