无法在同一GAS脚本中调用函数

时间:2014-11-20 16:23:20

标签: javascript google-apps-script

我有两个函数,一个在更改时读取Cell值。

第二个请求URL并获得响应。

 function onEdit(e) {
     var range = e.range;
     var data = range.getValue();
     Logger.log(data)
     Logger.log(test());
 }


 function test() {
     var url = 'apps.compete.com/sites/wholesalerhinestones.org/trended/UV/?apikey=[YOUR API KEY HERE]';

     var response = UrlFetchApp.fetch(url);
     Logger.log(response);
 }

问题是,test()成功运行并将输出记录到控制台,但在Cell更改事件时,会记录单元格的值,但不会调用test()

1 个答案:

答案 0 :(得分:0)

这里的一个问题是你实际上没有调用函数,也不会在调用它时返回任何内容。

看起来应该是这样的:

function onEdit(e){
  var range = e.range;
  var data = range.getValue();
  Logger.log(data)
  var testedFunction = test();
  Logger.log(testedFunction);
 }


function test(){
var url = 'YOUR-URL-HERE';
var response = UrlFetchApp.fetch(url);
Logger.log('Response code: ' + response.getResponseCode());
return response 
}

您在此处遇到的第二个问题是,您使用的Simple trigger 允许您访问需要授权的服务。

而是使用Installable trigger进行编辑' onEdit'可能会做的伎俩。 (这是我正在使用的,但我正在测试' Google.com')。它应该如下所示: enter image description here