Google Apps Script onEdit() 没有访问外部 API?

Pej*_*Poh 5 javascript triggers google-sheets urlfetch google-apps-script

我正在尝试用于UrlFetchApp访问外部(Enjin)API 并获取 JSON 信息块。单独运行该函数(基本上是一个 get 函数)提供正确的 HTTP 响应。但是,当从onEdit()触发器事件调用该函数时,Logger 不记录任何响应?

从触发器发出外部 API 请求时有区别吗?

这是函数本身:

function getUserID(name) {
  var url = "URLHERE";

  // Make a POST request with a JSON payload.
  var data = {
   'jsonrpc':'2.0',
   'id': '12345',
   'params':{
   'api_key': '123'
   },
   'method': 'UserAdmin.get'
 };
 var options = {
   'method' : 'post',
   'contentType': 'application/json',
   'payload' : JSON.stringify(data)
 };

 var response = UrlFetchApp.fetch(url, options);
 Logger.log(response.getContentText());

return 1;
}
Run Code Online (Sandbox Code Playgroud)

Jac*_*own 5

已经解释和建议的解决方法可以在这里找到:

UrlFetchApp.fetch() 在 onEdit 触发器中根本不起作用

总之,简单的触发器onEdit 不能用于调用UrlFetch。相反,使用可安装的触发器。

希望有帮助