繁体   English   中英

Slack:我怎样才能让任何人都能看到返回的文本?

[英]Slack: How can i make the return text visible to anyone?

以下是我用来从松弛中获取文本并将其写入谷歌表格的代码。

实际上一切都很完美,除了“成功”消息只有使用该命令的人才能看到,我找不到任何方法让它对频道中的所有用户可见。

所以这也是我的问题:我该如何改变? 如何使频道中的所有用户都能看到“成功”消息?

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 应用程序发布的,而这个 function 正在被 Slack 斜杠命令使用。 如果此假设不正确,请更新问题以提供更多上下文。

如果是这样,您希望在发送响应时按照他们关于消息可见性的说明进行操作

特别是,您希望使用 JSON 编码的消息进行响应,而不是发送简单的纯文本响应,如下所示:

  var response = "Success :)";

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

此外,您可能需要重新考虑制作回复的逻辑。 就目前而言,您的 function 将始终以“Success:)”响应,即使初始错误检查评估为假并且 function 结束时未将数据插入工作表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM