从HTML运行GET时,Slack API返回invalid_auth



我在测试工作区中创建了一个Slack Bot。我所要做的就是运行GET API来收集频道的内容,但我在第一个障碍上遇到了障碍。。。

API=获取https://slack.com/api/conversations.history

变量:

  1. 令牌=xoxb xxxx。。。AwQ
  2. 通道=xxxxH9P
  3. Bot将添加到通道中
  4. 我添加了正确的Scopes
  5. 在这里使用测试仪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代码。

谢谢!丹恩

最新更新