Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script Can';Don’不要从onEdit内部调用我的函数_Google Apps Script_Google Sheets_Discord - Fatal编程技术网

Google apps script Can';Don’不要从onEdit内部调用我的函数

Google apps script Can';Don’不要从onEdit内部调用我的函数,google-apps-script,google-sheets,discord,Google Apps Script,Google Sheets,Discord,我有一个onEdit函数,它首先检查所做的编辑是否在定义的区域内。然后,它获取被编辑的行,记录它,并通过webhook将相同的日志消息发送到Discord频道。我似乎无法使它正常工作。当我从我拥有的另一个函数内部调用postMessageOdiscord函数时,它工作得很好,但从onEdit函数内部调用时就不行了。你知道它为什么会起作用吗 onEdit Func: function onEdit(edit){ if ( edit.range.columnStart >= 3 &a

我有一个onEdit函数,它首先检查所做的编辑是否在定义的区域内。然后,它获取被编辑的行,记录它,并通过webhook将相同的日志消息发送到Discord频道。我似乎无法使它正常工作。当我从我拥有的另一个函数内部调用postMessageOdiscord函数时,它工作得很好,但从onEdit函数内部调用时就不行了。你知道它为什么会起作用吗

onEdit Func:

function onEdit(edit){
 if (
    edit.range.columnStart >= 3 &&
    edit.range.columnEnd <= 9 &&
    edit.range.rowStart >= 13 &&
    edit.range.rowEnd <= 101
  )
  {
    Logger.log("Edit in range");
    var editRow = (edit.range.rowStart, edit.range.rowEnd)
  }
  Logger.log("Row " + String(editRow) + " has been edited on Cadet Log " + edit.range.getSheet().getSheetName());
  postMessageToDiscord("Row " + String(editRow) + " has been edited on Cadet Log " + edit.range.getSheet().getSheetName());
}

提供人


对于简单的触发器,例如
onEdit(e)
,您不能调用需要用户授权的服务(
UrlFetchApp.fetch()
);看见您必须创建一个可安装的触发器,并让用户在使用之前授权您的脚本。请参阅关于可安装触发器的说明。

对于简单触发器,例如
onEdit(e)
,您不能调用需要用户授权的服务(
UrlFetchApp.fetch()
)。您必须创建一个可安装的触发器,并在使用之前让用户授权您的脚本。
function postMessageToDiscord(message) {

  message = message || "Hunter fucked up, disregard."

  var discordUrl = LINK REDACTED FOR SECURITY;
  var payload = JSON.stringify({content: message});

  var params = {
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    },
    method: "POST",
    payload: payload,
    muteHttpExceptions: true
  };

  var response = UrlFetchApp.fetch(discordUrl, params);

  Logger.log(response.getContentText());

}