Saya menghadapi masalah yang sama dalam aplikasi Angular saya. Saya menggunakan RocketChat REST API di aplikasi saya dan saya mencoba menggunakan rooms.createDiscussion
, tetapi sebagai kesalahan seperti di bawah ini.
ERROR Error: Uncaught (in promise): HttpErrorResponse: {"headers":{"normalizedNames":{},"lazyUpdate":null},"status":200,"statusText":"OK","url":"myurl/rocketchat/api/v1/rooms.createDiscussion","ok":false,"name":"HttpErrorResponse","message":"Http failure during parsing for myrul/rocketchat/api/v1/rooms.createDiscussion","error":{"error":{},"text":"
Saya telah mencoba beberapa hal seperti mengubah responseType: 'text'
tetapi tidak ada yang berhasil. Pada akhirnya saya dapat menemukan masalahnya ada pada instalasi RocketChat saya. Seperti yang disebutkan dalam log perubahan RocketChat , APIrooms.createDiscussion
telah diperkenalkan di versi 1.0.0 sayangnya saya menggunakan versi yang lebih rendah.
Saran saya adalah memeriksa REST API berfungsi dengan baik atau tidak sebelum Anda menghabiskan waktu untuk memperbaiki kesalahan dalam kode Angular Anda. Saya menggunakan curl
perintah untuk memeriksa itu.
curl -H "X-Auth-Token: token" -H "X-User-Id: userid" -H "Content-Type: application/json" myurl/rocketchat/api/v1/rooms.createDiscussion -d '{ "prid": "GENERAL", "t_name": "Discussion Name"}'
Di sana juga saya mendapatkan HTML yang tidak valid sebagai tanggapan.
<!DOCTYPE html>
<html>
<head>
<meta name="referrer" content="origin-when-crossorigin">
<script>/* eslint-disable */
'use strict';
(function() {
var debounce = function debounce(func, wait, immediate) {
Alih-alih respons JSON yang valid sebagai berikut.
{
"discussion": {
"rid": "cgk88DHLHexwMaFWh",
"name": "WJNEAM7W45wRYitHo",
"fname": "Discussion Name",
"t": "p",
"msgs": 0,
"usersCount": 0,
"u": {
"_id": "rocketchat.internal.admin.test",
"username": "rocketchat.internal.admin.test"
},
"topic": "general",
"prid": "GENERAL",
"ts": "2019-04-03T01:35:32.271Z",
"ro": false,
"sysMes": true,
"default": false,
"_updatedAt": "2019-04-03T01:35:32.280Z",
"_id": "cgk88DHLHexwMaFWh"
},
"success": true
}
Jadi setelah memperbarui ke RocketChat terbaru, saya dapat menggunakan REST API yang disebutkan.