如何獲取當前腳本的ID或文件夾ID?我希望能夠將腳本複製到文件夾中,並使其運行在特定於該文件夾的文件夾/文件上,而無需手動查找文件夾ID。在Google Apps腳本中獲取腳本的文件夾ID
我試過像'this.getParents()'但沒有得到任何地方的東西。在此先感謝您的幫助!
如何獲取當前腳本的ID或文件夾ID?我希望能夠將腳本複製到文件夾中,並使其運行在特定於該文件夾的文件夾/文件上,而無需手動查找文件夾ID。在Google Apps腳本中獲取腳本的文件夾ID
我試過像'this.getParents()'但沒有得到任何地方的東西。在此先感謝您的幫助!
這裏是一個腳本,我在不久前寫了一個基於上answer from CoreyG,做你正在尋找正是爲和更多的只是有點...
function getScriptFolderTree() {
var thisScript = getThisScriptInDrive();
var names = [];
var Ids = [];
var folder = thisScript.getParents()[0];
while (folder.getName() != "Root"){
names.unshift(folder.getName());
Ids.unshift(folder.getId());
var parents = folder.getParents();
var folder = parents[0];
}
Logger.log('Root/'+names.join().replace(/,/g,'/'));
Ids.unshift(DocsList.getRootFolder().getId());
Logger.log(Ids)
}
function getThisScriptInDrive() {
return DocsList.find("poiuytrezazertyujhgfdsdcvcxyydryfhchfh")[0];
}
即使世界目前還沒有辦法。 爲什麼不讓第一次運行時要求用戶選擇要在(filepicker)上運行的文件夾並將其保存在腳本屬性中?
嗯。有用,但不完全是我所希望的。你必須仔細檢查每一個副本並更改'垃圾'字符串。另外,在開始工作之前似乎有一段延遲。我認爲這是可行的,但有點黑客,並延遲了幾分鐘。 – nate11000
如果您每次複製腳本時都必須手動對腳本字符串進行硬編碼,那麼也可以硬編碼文件夾ID。 –
就我個人而言,我不認爲它是毫無意義的:-)即使文件移動到另一個地方,它也會返回文件夾樹...但我承認在這個特定的用例中它並不理想。另一方面,發佈它,沒有其他方式獲得該ID。 –