Google 表单到 Slack 线程消息

Google Form to Slack threaded message

在 Google 表单中,提交时,我想发送一条新消息作为表单的字段之一,并希望将其余表单字段作为线程消息包含在父消息中。

我手动捕获了一条 thread_ts 并成功发送了线程消息。但是我不知道在提交表单时获取 thread_ts ID 的 [最佳] 方法是什么。

var channel = 'xxxx';

function onSubmit(e) {
  var response = e.response.getItemResponses();

  var Parent =  response[0].getResponse();
  var Thread =  response[1].getResponse();
  var Thread2 =  response[2].getResponse();
  var message = '#Test - ' + Parent;

  var payload = {
     "payload": '{"text": "' + message + '"}'
     //"payload": '{"channel": "xxx","thread_ts": "1571950486.000500","text": "' + Thread + '--' + Thread2 + '"}'
  }
  var options = {
    "method": "post",
    "payload": payload
  };

  UrlFetchApp.fetch(webhookUrl, options);
};

我没有收到任何错误。

我是这样做到的:

var webhookUrl = 'https://hooks.slack.com/services/***/***/***';

function SendtoSlack(e) {
    var formResponse = e.response;
    var itemResponses = formResponse.getItemResponses();
    for (var i = 0; i < itemResponses.length; i++) {
        switch (itemResponses[i].getItem().getTitle()) {

            case "Client":
                var Client = itemResponses[i].getResponse() || '';
                break;

            case "Day":
                var date = itemResponses[i].getResponse() || '';
                break;

            case "Time":
                var time = itemResponses[i].getResponse() || '';
                break;

            case "Device":
                var Device = itemResponses[i].getResponse() || '';
                break;

            case "Browser":
                var Browser = itemResponses[i].getResponse() || '';
                break;

            case "Geo":
                var GEO = itemResponses[i].getResponse() || '';
                break;
        }
    }

        var redirectAlert = '#***'+' - ' + Client;
        var payload = {
            "payload": '{"text": "' + redirectAlert + '"}',
        }
        var options = {
            "method": "post",
            "payload": payload
        };
        UrlFetchApp.fetch(webhookUrl, options);

        var webhookUrl1 = 'https://slack.com/api/conversations.history?token=xoxp-***-***-***-***&channel=***&pretty=1';
        var slackJSON = UrlFetchApp.fetch(webhookUrl1);
        var slackJSONObject = JSON.parse(slackJSON);
        var ts = slackJSONObject.messages[0].ts;

        var threadedMessagePayload = {
            "payload": '{"thread_ts": "' + ts + '","text": "' + '`\nDevice: ' + Device + '\nBrowser: ' + Browser + '\nGeo: ' + GEO + '\nReported Date & Time: ' + date + ' ' + time + '"}',
        }
        var optionsForThreadedMessage = {
            "method": "post",
            "payload": threadedMessagePayload
        };

        UrlFetchApp.fetch(webhookUrl, optionsForThreadedMessage);

}