以下是我用来使文本变得不松弛并将其写入Google工作表的代码。

实际上,除了“成功”消息仅由使用该命令的人员看到并且我无法找到任何使该消息对频道中的所有用户可见的事实之外,其他所有内容都可以正常运行。

这也是我的问题:我该如何更改?如何使“成功”消息对频道中的所有用户可见?

function doPost(e) {
  if (typeof e !== 'undefined') {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getSheetByName('Doorbug');
    var lastRow = sheet.getLastRow();

    //relevant data
    var parameter = e.parameter;
    var text = parameter.text;
    var userName = parameter.user_name;
    var channel = parameter.channel_name;
    var date = new Date();


    //reg-number, Email, location, UA
    var data = text.split(',');

    var reg = data[0];
    var email = data[1];
    var location = data[2];
    var ua = data[3];

    var slackDetails = [date, reg, email, location, ua, userName, channel];

    //paste the data in the sheet
    sheet.getRange(lastRow + 1,1,1,7).setValues([slackDetails]);
  }


  //return message for the user
  return ContentService.createTextOutput('Success :)');
}

最佳答案

我猜想这个Apps Script项目是作为Web应用程序发布的,并且Slack斜杠命令正在使用此功能。如果此假设不正确,请更新问题以提供更多背景信息。

如果是这样,您要遵循their instructions regarding message visibility when sending a response

特别是,您不是要发送简单的纯文本响应,而是要以这样的JSON编码消息进行响应:

  var response = "Success :)";

  return ContentService.createTextOutput(JSON.stringify({
    response_type: "in_channel",
    text: response,
  }));


此外,您可能需要重新考虑编写响应的逻辑。就目前而言,即使初始错误检查结果为false并且函数结束不向表中插入数据,函数也将始终以“ Success :)”响应。

关于javascript - Slack:如何使返回文本对任何人都可见?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58012588/

10-09 02:01