Slack 事件请求 URL - 未验证的请求错误
Slack Events Request URL - Unverified Request Error
我的 Slackbot 需要通过 Glitch 应用向 Microsoft Azure 的文本分析 API 发出 HTTP 请求,但我收到以下错误消息:
An unverified request was sent to the Slack events Request URL. Request body: undefined
我怀疑错误可能与 Azure API 调用无关,但在没有正确验证令牌的情况下向 Glitch 发出请求时发生,但我检查了我的 .env 文件,并且令牌似乎在那里。
negativity: function(slack, message) {
var obj = {
documents: [{
language: "en",
id: 1,
text: "hello it's a great day"
}]};
var JSONString = JSON.stringify(obj);
var request = new XMLHttpRequest();
request.onreadystatechange= function () {
if (request.readyState==4 && request.status == 200) {
var resultText = request.responseText;
slack.chat.postMessage({
channel: message.channel,
text: `inside callback from negativity`
})
}
}
request.open("POST", "x");
request.setRequestHeader("Ocp-Apim-Subscription-Key", "x");
request.setRequestHeader("Content-Type","application/json");
request.setRequestHeader("Accept","application/json");
request.send(JSONString);
}
经过一些帮助,看起来 var request = new XMLHttpRequest()
在服务器端 JavaScript 上不可用,另一种可行的方法是 https://www.npmjs.com/package/axios。
此外,我在控制台中使用 npm install --save axios
安装了 axios。
我已附上对上述代码的改进。
const axios = require('axios');
// some code
negativity: function(slack, message) {
axios.post( 'x',
{
documents: [{
language: "en",
id: 1,
text: message.text
}]
},
{
headers: {
'Ocp-Apim-Subscription-Key':'x',
'Content-Type' : 'application/json',
'Accept' :'application/json'
}
}).then(function (response) {
var output = response.data;
});
}
我的 Slackbot 需要通过 Glitch 应用向 Microsoft Azure 的文本分析 API 发出 HTTP 请求,但我收到以下错误消息:
An unverified request was sent to the Slack events Request URL. Request body: undefined
我怀疑错误可能与 Azure API 调用无关,但在没有正确验证令牌的情况下向 Glitch 发出请求时发生,但我检查了我的 .env 文件,并且令牌似乎在那里。
negativity: function(slack, message) {
var obj = {
documents: [{
language: "en",
id: 1,
text: "hello it's a great day"
}]};
var JSONString = JSON.stringify(obj);
var request = new XMLHttpRequest();
request.onreadystatechange= function () {
if (request.readyState==4 && request.status == 200) {
var resultText = request.responseText;
slack.chat.postMessage({
channel: message.channel,
text: `inside callback from negativity`
})
}
}
request.open("POST", "x");
request.setRequestHeader("Ocp-Apim-Subscription-Key", "x");
request.setRequestHeader("Content-Type","application/json");
request.setRequestHeader("Accept","application/json");
request.send(JSONString);
}
经过一些帮助,看起来 var request = new XMLHttpRequest()
在服务器端 JavaScript 上不可用,另一种可行的方法是 https://www.npmjs.com/package/axios。
此外,我在控制台中使用 npm install --save axios
安装了 axios。
我已附上对上述代码的改进。
const axios = require('axios');
// some code
negativity: function(slack, message) {
axios.post( 'x',
{
documents: [{
language: "en",
id: 1,
text: message.text
}]
},
{
headers: {
'Ocp-Apim-Subscription-Key':'x',
'Content-Type' : 'application/json',
'Accept' :'application/json'
}
}).then(function (response) {
var output = response.data;
});
}