我在测试工作区中创建了一个Slack Bot。我所要做的就是运行GET API来收集频道的内容,但我在第一个障碍上遇到了障碍。。。
API=获取https://slack.com/api/conversations.history
变量:
- 令牌=xoxb xxxx。。。AwQ
- 通道=xxxxH9P
- Bot将添加到通道中
- 我添加了正确的Scopes
- 在这里使用测试仪API确实有效
但是我自己的HTML代码失败了。。返回invalid_auth。。。所以我想这一定是我的HTML的问题。。。但问题是,完全相同的代码适用于我之前设置的另一个slack bot!
基本HTML:
<html>
<head>
</head>
<body>
<button id = "SendButton" onclick="GetChannelFromSlack()">GET</button>
<p id="GET API Output">Test</p>
</body>
<script>
function GetChannelFromSlack() {
var slackBotToken = "xoxb-xxxxAwQ";
var slackChannelID = "xxxxH9P";
var getSlackData = new XMLHttpRequest();
var url = new URL('https://slack.com/api/conversations.history?token='+slackBotToken+'&channel='+slackChannelID);
getSlackData.open( "GET", url, true );
//getSlackData.setRequestHeader = ('Authorization', 'Bearer xoxb-xxxxAwQ');
getSlackData.responseType = 'json';
getSlackData.send();
getSlackData.onload = function() {
var jsonResponse = getSlackData.response;
document.getElementById("GET API Output").innerHTML = JSON.stringify(jsonResponse);
}
}
</script>
</html>
(代码片段实际上不起作用,因为我没有输入我的实际机器人令牌/通道id(
编辑此外,为了隔离问题,这里有一个curl命令,适用于一个Bot/Channel,但不适用于另一个:
工作:卷曲-XGEThttps://slack.com/api/conversations.history?token=xoxb-xxx VKa&通道=CxxxxTX’
不工作:卷曲-XGEThttps://slack.com/api/conversations.history?token=xoxb-xxx AwQ&通道=Cxxxx9P'
我看不出这两个机器人的设置有任何区别
如果有人能确定这件事失败的原因,我将非常感激!
谨致问候,丹恩
通过curl进行进一步研究,我能够使用以下格式获得bot/通道的输出:
卷曲-H";授权:Bearer xoxb-xxxxxx AwQ"-X获取'https://slack.com/api/conversations.history?channel=CxxxxTX'
我还不清楚为什么其他API调用格式适用于我的原始机器人,但我很高兴接受并使用这种格式,并相应地调整HTML代码。
谢谢!丹恩