Google Apps脚本onEdit()无法访问外部API?

时间:2017-02-25 02:39:22

标签: javascript json google-apps-script urlfetch

我正在尝试使用UrlFetchApp访问外部(Enjin)API并获取JSON blob信息。单独运行该函数(基本上是一个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;
}

1 个答案:

答案 0 :(得分:2)

已经解释并建议workAround可以在这里找到:

UrlFetchApp.fetch() simply does not work in onEdit trigger

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

希望有所帮助