我很努力地学习如何从谷歌脚本表中取回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'似乎完全适合我。 –