我有一个使用文件选择器的脚本,但我需要传递一个名为userId的特定参数,并在调用脚本中保存为全局变量.由于调用是异步的,似乎我无法访问此参数.是否可以从html文件中访问参数或将此参数传递给html?
我可能会混合模板化的html和非模板化的(例如https://developers.google.com/apps-script/guides/html/templates和https://developers.google.com/apps-script/guides/html/)但我需要解决这个问题.
感谢任何帮助.
这是调用代码(通过电子表格中的菜单项启动):
function syncStudentsFile(userId, ss) {
scriptUser_(userId); // save userId
Logger.log('SRSConnect : syncStudentsFile : userId:'+userId); // userId is correct here
var ss = SpreadsheetApp.getActiveSpreadsheet();
var html = HtmlService.createHtmlOutputFromFile('PickerSync.html')
.setWidth(600).setHeight(425);
SpreadsheetApp.getUi().showModalDialog(html, 'Select a file');
}
function scriptUser_(userId) {
if (userId !== undefined)
sUserId = userId; // Global variable
try { return sUserId; } catch (e) { return undefined; }
}
function getOAuthToken() { // used by Picker
DriveApp.getRootFolder();
return ScriptApp.getOAuthToken();
}
Run Code Online (Sandbox Code Playgroud)
这是html选择器文件:
<link rel="stylesheet" href="https://ssl.gstatic.com/docs/script/css/add-ons.css"> …Run Code Online (Sandbox Code Playgroud)