URL запроса слабых событий - ошибка непроверенного запроса - PullRequest
0 голосов
/ 02 декабря 2018

Мой Slackbot должен сделать HTTP-запрос к Microsoft Azure Text Analytics API через приложение Glitch, но я получаю сообщение об ошибке ниже:

An unverified request was sent to the Slack events Request URL. Request body: undefined

Я подозреваю ошибкувероятно, не относится к вызову API Azure, но происходит, когда запрос к 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);
}

1 Ответ

0 голосов
/ 09 декабря 2018

После некоторой помощи, похоже, что var request = new XMLHttpRequest() недоступен на серверной стороне JavaScript, и сработала альтернатива https://www.npmjs.com/package/axios.

Кроме того, я установил axios в консоли с npm install --save 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;
             });
          }
...