1
我在Slack中使用自定義斜槓命令通過Google Apps腳本將數據添加到Google文檔,但是,當腳本完成運行(成功)後,Google腳本將此發送到Slack,用戶將解釋爲錯誤:如何防止Google Apps腳本在處理自定義斜槓命令後將HTML返回至鬆弛狀態?
<DOCTYPE html><html><head><link rel="shortcut icon" href="//ssl.gstatic.com/docs/script/images/favicon.ico"><title>Error</title><style type="text/css">body {background-color: #fff; margin: 0; padding: 0;}.errorMessage {font-family: Arial,sans-serif; font-size: 12pt; font-weight: bold; line-height: 150%; padding-top: 25px;}</style></head><body><div><img src="//ssl.gstatic.com/docs/script/images/logo.png"></div><center>The script completed but did not return anything.</center></body></html>
如何防止此消息被髮送到Slack?
function doPost(request) {
var sheets = SpreadsheetApp.openById('id-would-go-here');
var params = request.parameters;
var nR = getNextRow(sheets) + 1;
if (params.token == "token-would-go-here") {
// FALL BACK TO DEFAULT TEXT IF NO ORDER PROVIDED
var order = params.text || "No Order Entered";
var employee = params.user_name || "Name Error";
// RECORD TIMESTAMP AND USER NAME IN SPREADSHEET
sheets.getRangeByName('date').getCell(nR,1).setValue(new Date());
sheets.getRangeByName('employee').getCell(nR,1).setValue(employee);
// RECORD UPDATE INFORMATION INTO SPREADSHEET
sheets.getRangeByName('order').getCell(nR,1).setValue(order);
var channel = "lunch-orders";
postResponse(channel,order,employee);
var eph_url = params.response_url;
var eph_response = UrlFetchApp.fetch(eph_url,200);
} else {
return;
}
}
function postResponse(channel, order, employee) {
var payload = {
"channel": "#lunch-orders",
"username": "Lunch Order",
"link_names": 1,
"attachments":[
{
"fallback": "A lunch order was placed, but the display here is a little messed up. Check the Google Doc to view the order.",
"mrkdwn_in": ["pretext"],
"color": "good",
"fields":[
{
"title":"" + employee + "'s Lunch Order",
"value": "" + order + "",
"short":false
}
]
}
]
};
var url = 'incoming-webhook-url-goes-here';
var options = {
'method': 'post',
'payload': JSON.stringify(payload)
};
var response = UrlFetchApp.fetch(url,options);
}