无需使用Incoming Webhook,基于OAuth Token实现Google Apps Script与Slack Bot集成并对接Google Sheets的问题求助
无需使用Incoming Webhook,基于OAuth Token实现Google Apps Script与Slack Bot集成并对接Google Sheets的问题求助
大家好!
我想给团队的Slack频道加一个Bot,核心需求是从Google Sheets抓取数据,然后把消息发送到对应的Slack频道。之前我用Incoming Webhook实现了基础的消息推送,但很快发现这个方式有个硬伤:Webhook只能绑定固定频道,而我希望这个Bot是可被邀请到任意频道的——只要有人把它拉进自己的频道,它就能在那个频道正常工作并推送消息。
我知道得用OAuth Token来实现这种多频道支持,但折腾了好久都没搞定。下面是我之前用Webhook发送消息的Google Apps Script代码,想请教各位大佬,怎么把它改成基于OAuth Token的实现,让Bot能支持被邀请到不同频道,并且在对应频道里正常发送消息呢?
function sendAlert(payload) { const webhook = "MY CHANNELS WEBHOOK"; var options = { "method": "post", "contentType": "application/json", "muteHttpExceptions": true, "payload": JSON.stringify(payload) }; try { UrlFetchApp.fetch(webhook, options); } catch(e) { Logger.log(e); } }
我查了Slack的OAuth相关文档,但在Google Apps Script里处理Token授权、获取频道权限这些环节一直卡壳,有没有具体的实现步骤或者代码示例可以参考呀?
备注:内容来源于stack exchange,提问作者Tarık




