【问题标题】:Run a Google Apps Script from Chrome Extension从 Chrome 扩展程序运行 Google Apps 脚本
【发布时间】:2020-06-05 08:49:37
【问题描述】:

我是 Google Chrome 扩展程序开发的新手,当我单击扩展程序中的按钮时,我想从扩展程序运行应用程序脚本。但我不知道该怎么做,我已经检查了指南,但无法理解这个想法。这是我的代码,

script.js

$(document).ready(function () {
    $('#btnGet').click(function () {
        $(document).load('https://script.google.com/macros/s/AKfycbwpkBW7qKZBeJ011C7j3le4vV8D0SEHu9709mWtEMzJgrJmHnaR/exec');
    });
});

应用脚本

function doGet(e){
  function newEntry() {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getActiveSheet();
    var lr = sheet.getLastRow();
    sheet.getRange(lr+1, 1, 1, 3).setValues([["First Name", "Last Name", "Email"]]);
    Browser.msgBox("New Entry Added!");
  }
}

我已经设法从我的script.js 运行代码,但我不确定如何从我的应用程序脚本运行代码。如何从我的应用程序脚本运行代码?

【问题讨论】:

  • 您的问题不清楚,因为您发布的代码可能无法正常工作。 (newEntry() 是函数中的函数,并且永远不会在该闭包中调用。)正如 Serge 建议的那样,首先让您的 Google Apps Script Web 应用程序独立于 Chrome 扩展程序工作,然后继续将两者集成。

标签: javascript google-chrome google-chrome-extension google-apps-script


【解决方案1】:

简答

代替

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();

试试

var id = 'spreadsheet-id'; //replace with your spreadsheet id
var sheetName = 'sheet name'; //replace with your sheet name.
var ss = SpreadsheetApp.openByID(id);
var sheet = ss.getSheetbyName(sheetName);

说明

从电子表格调用脚本时,可以使用返回电子表格活动对象的方法。 doGet(e) 可以与电子表格进行交互,但您应该指定要处理的内容。

参考文献

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-18
    • 2015-08-20
    • 1970-01-01
    • 2014-02-10
    • 1970-01-01
    • 1970-01-01
    • 2015-12-24
    • 2021-11-22
    相关资源
    最近更新 更多