Ich entwickle gerade ein kleines Skript, dessen Endergebnis ist, dass es die Datei- und Ordnerstruktur meines Google Drive oder eines anderen Ordners zurückgibt. Ich habe einen grundlegenden Rahmen nimmt Gestalt an, die vernünftigerweise, wie es sollte zu funktionieren beginnt:Google Drive Mapping Skript Fehler zurückgegeben
function folderMap() {
var rootFolder=DriveApp.getFolderById("arbitraryFolderId");
var rootFiles=[];
var rootFolders=[];
var root=[rootFolders,rootFiles];
var i;
getChildren(rootFolder,root);
Logger.log(root);
if(rootFolders!==null){
for(i=0;i<rootFolders.length;i++){
var tempName=rootFolders[i].getName();
eval("var "+tempName+"Object=nextObject("+tempName+");");
getChildren(rootFolders[i],eval(tempName+"Object"));
Logger.log(tempName);
}
}
}
function getChildren(parent,parentObject){
var folders= parent.searchFolders('');
while (folders.hasNext()) {
var folder = folders.next();
parentObject[0].push(folder);
}
var files= parent.searchFiles('');
while (files.hasNext()) {
var file = files.next();
parentObject[1].push(file);
}
}
function nextObject(name){
var dynamic= name;
eval("var "+dynamic+"Folders=[];");
eval("var "+dynamic+"Files=[];");
var dummy=eval("var "+dynamic+"=["+dynamic+"Folders,"+dynamic+"Files];");
return dummy;
}
Dies ist jedoch gibt den Fehler SyntaxError: Missing ; before statement. (line 12, file "Code")
I dieser Linie zusätzliche Semikolons in vor versucht haben, setzen, die Anpassung Klammern und generell mit dem Code herumhantieren, aber nichts, was ich tue, scheint diesen Fehler zu lösen.
Gibt es etwas sehr einfach, starrte mir ins Gesicht, dass ich vermisse?
Jede Hilfe würde sehr geschätzt werden.
Danke
EDIT: Zur Klarstellung arbitraryFolderId
in Zeile 2 durch den String Id für den Ordner ersetzt wird, jedoch haben meine Werke Domain-Administrator fragten wir öffentlich nicht Datei oder einen Ordner-IDs gemeinsam nutzen; unabhängig von ihren Freigabeberechtigungen.
Ah, ich hätte in meinem ursprünglichen Beitrag klarer sein sollen. In dem Code, den ich ausführe, wird "arbitraryFolderId" durch die String-ID für den Ordner ersetzt. Mein Werksdomainadministrator hat jedoch gebeten, dass wir keine Datei- oder Ordner-IDs freigeben. unabhängig von ihren Freigabeberechtigungen. – dbr
Aber ich habe deinen Code ausprobiert, und alles sieht gut aus. seltsam. Nachdem ich diese ID geändert habe, funktioniert es bei mir. – KENdi
Noch aus irgendeinem Grund für mich nicht ausgeführt ... Könnte die Tatsache, dass einer der Ordnernamen "v1.0.5" ist, Probleme in Zeile 12 verursachen, wenn er als "TempName" bezeichnet wird? – dbr