2017-12-14 11 views
0

Ich muss die Namen und URLs der Ordner in einem angegebenen Ordner abrufen.Google-Skript, um Ordnernamen in einem übergeordneten Ordner zu erhalten

Dies ist mein Versuch:

// set the folder to pull folder names from 
var DDparentid = "IDhere"; 
var DDparent = DriveApp.getFolderById(DDparentid); 
var DDfolders = DDparent.getFolders(); 

// iterate through folders in the folder 
while (DDfolders.hasNext()) { 
    var folder = DDfolders.next(); 

    // get folder name 
    Logger.log(folder.getName()); 

    var DDnames = folder.getName(); 

    // get the url  
    Logger.log(folder.getUrl()); 

    var DDURLs = folder.getUrl(); 
} 

Dies funktioniert für get Datei-URLs, aber ich glaube, dass Ordner unterschiedlich behandelt werden, und GetFolder verwendet wird, anders. Ich bekomme eine Fehlermeldung, dass eine Zeichenfolge in DriveApp.getfolder() nicht geeignet ist. Wie sollte ich getfolder benutzen?

EDITED: Dies läuft, Buit zieht nicht wirklich URLs oder Ordnernamen. Beide Variablen sind nicht definiert, aber es gibt keine Fehler.

+0

Sind Sie sicher, dass Sie die richtige Ordner-ID verwenden? –

+0

Es funktioniert, der Fehler war mit einem anderen Teil des Codes nicht hier dargestellt. Danke für die Hilfe. –

+0

Nächstes Mal erstellen Sie eine [mcve] :) –

Antwort

0

Sie können dies versuchen:

var parentFolderId = "xxxxxxxIDxxxxxxx"; 
var parentFolder = DriveApp.getFolderById(parentFolderId); 
var folders = parentFolder.getFolders(); 
var folder; 
// iterate through folders in the folders fetched from parent folder 
while (folders.hasNext()) { 
    folder = folders.next(); 
    // get folder name 
    Logger.log(folder.getName()); 
    // get the url  
    Logger.log(folder.getUrl()); 
} 

Dies ist ein ungeprüftes Code, lassen Sie mich wissen, ob eine strittig, ich werde glücklich sein, uns zu helfen.

Danke

+0

es läuft, aber aus irgendeinem Grund werden die URLs und Ordnernamen nicht aufgezeichnet. Die Variablen, die ich den Ordnern folder.getname() und folder.getUrl() gleichsetze, sind nicht definiert, und das Array, das aus diesen Variablen erstellt wird, ist ebenfalls nicht definiert. Also ziehe ich nicht wirklich die Namen oder URLs. –

+0

Es funktioniert für Dateien ohne Probleme, aber scheint nicht mit Ordnern zu arbeiten? –

+0

Umair, Ihr Originalcode funktioniert für mich. Möglicherweise tritt ein Caching- oder Latenzproblem auf. Außerdem - ich habe seltsame Dinge gesehen, wo etwas wie Logger.log (folder.getUrl()) nicht funktioniert, aber wenn Sie es in zwei Zeilen wie x = folder.getUrl(); Logger.log (x); - Dann wird es funktionieren. Nicht sicher warum. – NancySchorr

Verwandte Themen