繁体   English   中英

为什么 eval 不是其他用户的功​​能

[英]Why is eval is not a function for other users

我想在我的工作表中为我的移动用户提供一个可点击的按钮。

我从https://medium.com/macadamscripts/create-button-in-google-sheets-mobile-2979579025ef获得帮助

我在 A 列中使用验证“Call_Customer”或“Call_Alt_No”进行了下拉。 用户只能编辑 A 列。

并做了以下功能

//
//
function on_Edit(e) {
  //if (e.range.getA1Notation() == 'A1') {
    if (/^\w+$/.test(e.value)) {        
      eval(e.value)();
      e.range.clear();
      //e.range.setValue("Calling");
    }
  //}
}
//
//
function Call_Customer(){
  var ss=SpreadsheetApp.getActive();
  var sht=ss.getActiveSheet()
  var cr=sht.getActiveCell().getRow();
  var cu=sht.getRange("K"+cr).getValue();
  var ag=sht.getRange("J"+cr).getValue();
  const url = 'https://api.servetel.in/v1/click_to_call'
  const options = {
  method: 'POST',
  headers: {
    Accept: 'application/json',
    Authorization: 'xxx',
    'Content-Type': 'application/json'
  },
  payload: JSON.stringify({agent_number: ag, destination_number: cu})
  }
  try {
    const res = UrlFetchApp.fetch(url, options)
    Logger.log(JSON.parse(res));
    //ss.toast(JSON.parse(res));
  }
  catch (e) {
    Logger.log('error' + e);
    //ss.toast('error' + e);
  }
}
//
//
function Call_Alt_No(){
  var ss=SpreadsheetApp.getActive();
  var sht=ss.getActiveSheet()
  var cr=sht.getActiveCell().getRow();
  var cu=sht.getRange("I"+cr).getValue();
  var ag=sht.getRange("J"+cr).getValue();
  const url = 'https://api.servetel.in/v1/click_to_call'
  const options = {
  method: 'POST',
  headers: {
    Accept: 'application/json',
    Authorization: 'xxxx',
    'Content-Type': 'application/json'
  },
  payload: JSON.stringify({agent_number: ag, destination_number: cu})
  }
  try {
    const res = UrlFetchApp.fetch(url, options)
    //console.log(JSON.parse(res))
    //Browser.msgBox("Call Started");
  }
  catch (e) {
    //console.error('error' + e);
    //Browser.msgBox("Call failed");
  }
}

我制作了一个可安装的触发器,因为简单的触发器无法调用外部服务。

Call_Customer 函数在我的手机上运行良好 - 我是所有者。 但它为其他编辑器在他们的手机上的工作表提供了错误(该错误在触发器日志中可用)

TypeError: eval(...) 不是 on_Edit 的函数(代码:33:20)

编辑使用 eval 有什么限制吗? 他们必须给予任何许可吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM