【问题标题】:Pushing Slack data to Google Sheets w/ Event Subscription使用事件订阅将 Slack 数据推送到 Google 表格
【发布时间】:2020-04-12 00:40:44
【问题描述】:

我正在尝试在 Slack 上创建一个机器人,它将发送到私人频道(机器人所在的频道)的新消息的数据发送到 Google 表格。通过使用此脚本,我成功地使用了 Slack 斜杠命令后的数据:

    function doPost(e) {
  if (typeof e !== 'undefined') {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getSheetByName('Sheet1');
    sheet.getRange(1,1).setValue(JSON.stringify(e));
  }
}

我尝试使用与Events API 相同的脚本,但它需要传递带有质询参数的请求,并且端点必须以质询值响应。使用 GScript 网络应用程序的 URL,我不断收到失败的响应。如何让 URL 验证握手与 Google 表格一起使用并以正确的质询字符串进行响应?

HTTP 发布失败

【问题讨论】:

    标签: google-apps-script slack-api


    【解决方案1】:

    这个修改怎么样?

    The official document 如下所述。您的问题中已经提到了这一点。

    challenge:由 Slack 随机生成的字符串。这个猫捉老鼠的小游戏的重点是,您将使用包含此值的响应正文来响应此请求。

    因此,请修改您的脚本以从doPost 返回challenge 的值,如下所示。

    修改脚本:

    function doPost(e) {
      if (typeof e !== 'undefined') {
        var ss = SpreadsheetApp.getActiveSpreadsheet();
        var sheet = ss.getSheetByName('Sheet1');
        sheet.getRange(1,1).setValue(JSON.stringify(e));
      }
      var v = JSON.parse(e.postData.contents);  // Added
      return ContentService.createTextOutput(v.challenge);  // Added
    }
    

    注意:

    • 当您修改 Web Apps 的脚本时,请将 Web Apps 重新部署为新版本。这样,最新的脚本就会反映到 Web 应用程序中。请注意这一点。

    参考资料:

    补充:

    根据您对I'm getting the same error. 的回复,我认为最新的脚本可能不会反映到Web Apps。作为一个简单的脚本,请复制并粘贴以下脚本而不是您的脚本。请重新部署 Web 应用程序作为新版本。那么,请再次测试。

    示例脚本:

    function doPost(e) {
      var v = JSON.parse(e.postData.contents);
      return ContentService.createTextOutput(v.challenge);
    }
    

    【讨论】:

    • 这不是解决方案,我遇到了同样的错误。我仍然对 GScript 应该如何返回挑战感到困惑。
    • @Neal Jha 感谢您的回复。我带来的不便表示歉意。在我的环境中,我可以确认当使用修改后的脚本返回challenge 的值时,状态将更改为Request URL Verified。不幸的是,我无法复制您的情况。但是从您对I'm getting the same error. 的回复来看,我认为最新的脚本可能不会反映到Web Apps。因此,请尝试测试额外的示例脚本,并将 Web 应用程序重新部署为新版本。这样,最新的脚本就会反映到 Web 应用程序中。请注意这一点。
    • @Neal Jha 关于如何部署 Web Apps,您可以在here 看到它。如果即使您修改了脚本并重新部署了 Web 应用程序也出现同样的错误,您能否提供复制问题的详细流程?根据您的流程,我想确认一下。
    • 实际上,您的初始脚本是解决方案(添加两行以返回挑战)。我不得不刷新并创建一个新的电子表格和新的 Slack 机器人。它就像我现在喜欢的那样工作,谢谢。
    • @Neal Jha 感谢您的回复。很高兴您的问题得到解决。
    猜你喜欢
    • 1970-01-01
    • 2021-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-03
    • 1970-01-01
    • 1970-01-01
    • 2018-02-26
    相关资源
    最近更新 更多