我想测试一下,看看我是否可以在谷歌电子表格中使用UrlFetchApp.fetch
发送请求。这是我的代码:
function createSpreadsheetOpenTrigger() {
var ss = SpreadsheetApp.getActive();
ScriptApp.newTrigger('myOnEdit')
.forSpreadsheet(ss)
.onEdit()
.create();
}
function myOnEdit(){
var response = UrlFetchApp.fetch('http://www.google.com/');
Logger.log(response.getContentText());
}
当我测试函数createSpreadsheetOpenTrigger
时,它显示一个提示框,说authorization required
,当我点击审查权限按钮并登录时说This app isn't verified
。我也不确定如何使用可安装的触发器,以便我的自定义onEdit工作。
我很感激任何工作的例子,因为我一直在努力让这个工作起来。谢谢。
有两种类型的脚本:
绑定脚本可以调用一些独立脚本不能的方法:
您还可以手动在绑定脚本中创建可安装的触发器:The official documentation:
要通过脚本编辑器中的对话框手动创建可安装触发器,请按照下列步骤操作:
以编程方式制作可安装的触发器:
https://developers.google.com/apps-script/reference/script/trigger-builder#forSpreadsheet(String)
ScriptApp.newTrigger('myFunction')
.forSpreadsheet('1234567890abcdefghijklmnopqrstuvwxyz')
.onEdit()
.create();
摘要:要从独立脚本创建此触发器,只需将SpreadsheetApp.getActive()
替换为SpreadsheetApp.openById(id)
。 ID是电子表格的关键:例如,URL https://docs.google.com/spreadsheets/d/abc1234567/edit#gid=0中的电子表格ID为“abc1234567”。
码:
function createSpreadsheetOpenTrigger() {
ScriptApp.newTrigger('myOnEdit')
.forSpreadsheet('ID')
.onEdit()
.create();
}
function myOnEdit(){
var response = UrlFetchApp.fetch('http://www.google.com/');
Logger.log(response.getContentText());
}