从Google脚本访问HTML脚本变量

时间:2018-12-17 11:41:47

标签: javascript google-apps-script google-sheets google-picker

我正在尝试在Google表格中放置一个选择器。 将文件上传到Google驱动器后,我希望将网址发布到电子表格的当前单元格中。

这是我位于HTML文件中的pickerCallback:

var message;

function pickerCallback(data) {
    var action = data[google.picker.Response.ACTION];
    if (action == google.picker.Action.PICKED) {
        var doc = data[google.picker.Response.DOCUMENTS][0];
        var id = 'https://drive.google.com/open?id=' + doc[google.picker.Document.ID];

        google.script.run.accessSpreadsheet(); 

    } message = id;
    document.getElementById('result').innerHTML = message;
}

这将返回选择器对话框中的URL。

我的accessSpreadsheet函数如下所示,并且位于google脚本文件中:

function accessSpreadsheet() {
     var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
     var currentCell = sheet.getCurrentCell();
     currentCell.setValue(message);
     return spreadsheet;
}

该函数运行,但无法定义消息。有没有办法从Google脚本功能访问html文件中的函数中定义的变量?还是有另一种更好的方法?

1 个答案:

答案 0 :(得分:0)

解决方案:

将字符串id从客户端传递到服务器。

摘要:

google.script.run.accessSpreadsheet(id); 

function accessSpreadsheet(id) {

 currentCell.setValue(id);

参考:

Client-Server communication