【发布时间】:2019-06-21 21:44:28
【问题描述】:
我正在尝试将 POST 调用作为 webhook 触发,以使用 Google 应用脚本从 Google 表格触发外部系统中的工作流
逻辑很好,我已经测试过,当编辑第 6 列中的单元格时,脚本会按我的意愿触发。问题是我无法发送对我的 webhook URL 的调用
在下面的代码中,我将它带回到谷歌在他们的文档中的示例,只是为了在添加我真正想要的数据之前尝试让它工作。任何指针将不胜感激。这将是一件愚蠢的事情……我已经看得太久了,已经挖掘了太多资源。
var cell = SpreadsheetApp.getActive().getActiveCell();
var row = cell.getRow();
var col = cell.getColumn();
if (col == 6){
var data = {
'name': 'Bob Smith',
'age': 35,
'pets': ['fido', 'fluffy']
};
var options = {
'method' : 'post',
'contentType': 'application/json',
// Convert the JavaScript object to a JSON string.
'payload' : JSON.stringify(data)
};
UrlFetchApp.fetch('https://webhook.site/26d7bc1e-8d40-4249-bbf4-f7360ae26424', options);
}
else {
return;
}
}
【问题讨论】:
-
关于
I cannot get the call to my webhook URL to be sent,可以问一下UrlFetchApp.fetch()运行时的错误信息吗?另外我可以问你关于 webhook 的规范吗? -
@Tanaike 哇。这是我第一次使用 Google Scripts,我一直在寻找错误但找不到它们!我进行了搜索,现在我知道在哪里可以买到它们!错误是:“您无权调用 UrlFetchApp.fetch。所需权限:googleapis.com/auth/script.external_request at onEdit(cellListen:19)” 目前我只是想在 webhook.site URL 上捕获触发器,但对于我的集成,我将使用 Cloud Elements 捕获它,以便在形成对另一个平台的 API 调用之前操作数据并添加其他数据。
-
感谢您的回复。如果您通过 OnEdit 事件触发器运行脚本,那么使用可安装触发器怎么样? developers.google.com/apps-script/guides/triggers/installable我认为当你的情况使用简单触发器时,可能会出现这样的错误。
-
太棒了!我添加了一个可安装的触发器并成功了!非常感谢!
-
@Tanaike 当然!我认为您发表了评论而不是回答,因此我无法将其作为正确答案进行检查。如果您留下答案,我会将其标记为已解决。谢谢!
标签: post google-apps-script google-sheets httprequest