[英]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.