Получение сообщения: «Ошибка при совпадении [400]», errorType: «Meteor.Error» при использовании методов rocketchat (loadHistory) в Reactjs - PullRequest
0 голосов
/ 21 февраля 2019

Я пытаюсь интегрировать чат Rocket в свое приложение, используя астероид , но когда я использую метод Rocket.chat LoadHistory , я получаю {isClientSafe: true, error: 400, reason: "Match failed", message: "Match failed [400]", errorType: "Meteor.Error"}.Чтобы было ясно, я никогда не использовал Rocket.chat или Asteroid прежде.Однако некоторые методы работают без нареканий.

/**
 * Calls a server-side method with the specified arguments.
 * @param method  string required: the name of the method to call
 * @param params  [param1, param2, ...] any optional: parameters passed to the 
   server method
 * @return Promise resolved, rejected
*/
let asteroidMethods = function (method, param){
  return socket.call(method, param)
};

getMessageHistory = (lastMessage) => {
  let param =[ lastMessage.rid, null, 50, lastMessage['ts']['$date']];
  asteroidMethods("loadHistory", param).then(res=>{
    console.log(res)
  }).catch(e=>{
    console.log(e)
  })
} 

1 Ответ

0 голосов
/ 22 февраля 2019

Поскольку ответ Match failed является довольно общим, существует несколько потенциальных проблем, вызывающих вашу ошибку.Например, lastMessage.rid может быть пустым.

С вашей проблемой журналы сервера Rocket.Chat предоставят вам дополнительную информацию о проблеме подстилающего слоя.Для этого Rocket.Chat предлагает удобный способ доступа к журналам сервера через пользовательский интерфейс:

  • Войдите в интерфейс администратора Rocket.Chat под учетной записью администратора
  • Убедитесь, что Log Level быть очень многословным -> Уровень 2 (https://example.com/admin/Logs)
  • Посетить просмотр журнала (https://example.com/admin/view-logs)
  • Выполнить код один раз

Пример

Я установил мой roomId на 42 в примере запроса:

connection.method('loadHistory', [42, roomId, oldestMessageDate, 15])

Это вызывает следующее событие журнала с очень подробной информацией:

Exception while invoking method 'loadHistory'
{ Error: Match error: Expected string, got number }

С помощью этой информации вы сможете определить фактическую проблему, стоящую за вашим запросом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...