TL; DR - 我想设置一个适用于Google Apps脚本的Slack斜杠命令。您如何推荐我这样做?
上下文:
当有人填写Google表单时,我目前使用表单google.com/script来触发对Slack的webhook调用。 Here it is for reference。我的问题是我想添加的一个附加功能,它不会与此代码重叠。
我想在Google Apps中收听Slack斜杠命令,所以我一直在查看大量的回调示例。我不明白为了实现这一目标所必需的舞蹈。以下是变量:
token
来验证传出的有效负载。 client ID
和secret token
。https://script.google.com/macros/d/{SCRIPT ID}/usercallback
,但如果我在this guide中正确阅读,则需要用户授权我已经回顾了其他提及回调的问题(this和this),但没有发现任何相关问题。
对于能够配置回调URL并了解它如何进行身份验证以及最终消耗来自Google中的Slack的API调用的下一步指导将非常棒。
答案 0 :(得分:3)
你走在正确的轨道上,因为几个星期以来我正在摆弄它,所以这可能会有所帮助:
Google App脚本
https://script.google.com/macros/s/xxx-ver-long-number-xxx/exec
Slack Integrations
创建新的斜线命令
方法POST / URL:粘贴The url from your web app
复制安全令牌,您需要在Google App脚本中
根据需要设置所有其他设置。
不要忘记保存
返回Google App脚本
复制粘贴这个基本内容
function doPost(request) {
//// SET SECURITY TOKEN (FROM SLACK COMMAND)
var your_token = "YOUR_SLASH_COMMAND_TOKEN";
var output;
//// GET PARAMETES FROM SLACK POST REQUEST
var params = request.parameters;
//// ... and store them into variables
var cmd_token = params.token; // or params.token[0] idk
//// CHECK RECEIVED TOKEN AGAINST YOUR SAVED TOKEN
if (your_token == cmd_token) {
output = {"text":"SUCCESS"};
} else {
output = {"text":"INVALID TOKEN"};
}
//// SEND RESPONSE BACK TO SLACK
return ContentService.createTextOutput(JSON.stringify(output)).setMimeType(ContentService.MimeType.JSON);
}
保存脚本并再次将脚本发布为Web应用程序(每次更改内容时都必须执行此操作,请始终选择“new”作为版本
其他信息
这是你从每个斜杠命令得到的东西。在上面的示例中,我只使用token
...
token=gIkuvaNzQIHg97ATvDxqgjtO
team_id=T0001
team_domain=example
channel_id=C2147483705
channel_name=test
user_id=U2147483697
user_name=Steve
command=/weather
text=94070
response_url=https://hooks.slack.com/commands/1234/5678
适合我的作品,希望有所帮助:)祝你好运!