我很努力地學習如何從谷歌腳本表中取回ID到HTML表格中。我希望使用activespreadsheet的父文件夾ID作爲使用選取器打開的文件夾。電子表格將只在一個文件夾中,因此只有一個父文件夾。在選擇器中努力設置第一個查看文件夾
這是我打算用找到的文件夾ID
function ThisFilePF() {
var FileID = SpreadsheetApp.getActiveSpreadsheet().getId()
var ThisFileParentFolders = DriveApp.getFileById(FileID).getParents()
return ThisFileParentFolders.next().getId()
}
我想接着(pkrPF)在HTML表中使用機械手正在興建時,該文件夾的ID碼。
function createPicker(token) {
if (pickerApiLoaded && token) {
google.script.run.ThisFilePF()
var PickFolder = new google.picker.DocsView().setParent(pkrPF)
.setIncludeFolders(true)
.setSelectFolderEnabled(true);
var picker = new google.picker.PickerBuilder()
.addView(PickFolder)
.setSelectableMimeTypes('application/vnd.google-apps.folder')
.enableFeature(google.picker.Feature.NAV_HIDDEN)
.hideTitleBar()
.setOAuthToken(token)
.setDeveloperKey(DEVELOPER_KEY)
.setCallback(pickerCallback)
.setOrigin(google.script.host.origin)
.setSize(DIALOG_DIMENSIONS.width - 2,
DIALOG_DIMENSIONS.height - 2)
.build();
picker.setVisible(true);
} else {
showError('Unable to load the file picker.');
}
}
我知道我在這裏犯了一些基本的錯誤,但任何指針,將不勝感激。
編輯: 可能會更接近一點,但仍不知道如何將變量數據放入createpicker函數。
我改變google.script.run.ThisFilePF()來google.script.run.withSuccessHandler(getPkrFdrView).ThisFilePF();
並添加此功能
function getPkrFdrView(pkrPF) {
pkrPFID = pkrPF
alert("pkrPFID = " + pkrPFID)
}
警報彈出窗口顯示的文件夾ID獲取渡過難關。 我只需要弄清楚如何得到createpicker函數。我讀過,你應該避免在JavaScript中使用全局變量,所以這是下一個障礙。
我認爲你原來的帖子唯一的問題是,你沒有設置'google.script.run.ThisFilePF()'返回任何變量(特別是pkrPF)的值。有幾種方法可以做到這一點,但將返回值發送到一個單獨的函數'createPicker'似乎完全適合我。 –