2017-02-25 96 views
1

我正在尝试使用UrlFetchApp来访问外部(Enjin)API并获取JSON一组信息。自己运行函数(基本上是一个get函数)提供了正确的HTTP响应。但是,当从onEdit()触发事件中调用该函数时,记录器不会记录任何响应?Google Apps脚本onEdit()不能访问外部API?

从触发器发出外部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

已经解释并建议解决方案可以在这里找到:

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

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

希望有帮助

+0

哦!谢谢,不能相信这个帖子在我的搜索中没有出现。这正是问题! –