rocket.chat - 使用 REST API 'chat.postMessage' 时出现“无效通道”错误
问题描述
使用 Rocket.Chat API 'chat.postMessage' 命令时出现“invalid-channel”错误
我的代码如下所示,谁能看到我在这里做错了什么?谢谢!
我已经为代码中的频道名称尝试了不同的格式(顺便说一下,这是一个公共的,它也是创建的初始频道,并且具有 GENERAL 的 id)
"GENERAL"
"@GENERAL"
"#GENERAL"
“My_Chat_Room”
“@My_Chat_Room”
“#My_Chat_Room”
以上所有在“#”或“@”之后有和没有空格,所有这些都是小写的
function postMsg(){
var request = require(‘request’);
var url = ‘https://my.rocketchat.server/api/v1/login/’;
var user = ‘Test_User’;
var pass = ‘DFSdnwe89eq339’;
// Save these for future requests
var userId;
var authToken;
request.post(
{
uri: url,
form: { username: user, password: pass }
},
function(err, httpResponse, body) {
if (err) {
return console.error(‘Login failed:’, err);
}
var json = JSON.parse(body);
authToken = json.data.authToken;
userId = json.data.userId;
console.log(‘Login successful!:’ + “\n” + "User ID: " + userId + “\n” + "Auth Token: " + authToken);
var postMsgUrl = 'https://my.rocketchat.server/api/v1/chat.postMessage';
request.post({
uri: postMsgUrl,
headers: {
'X-User-Id': userId,
'X-Auth-Token': authToken
},
data: {
"channel": "My_Chat_Room",
"text": "test message",
}
}, function(err, httpResponse, body) {
if (err) {
console.log('post failed:', err, body);
}
console.log('Server responded with:', httpResponse, body);
});
}
)}
预期的结果是请求中指定的文本被发布到频道,但是我得到的只是“无效频道”错误
解决方案
你需要告诉 Rocket 你的请求有一个 json 有效载荷。
添加此标题:"Content-type:application/json"
推荐阅读
- vb.net - 如何在没有 IDispatch 的情况下创建 VB.NET COM 可见接口?
- python - 在 Tkinter 中沿画布重置图像
- android-studio - 安卓工作室 | 如何在recyclerview中保存项目位置?
- python - TypeError:fit_generator() 为参数“steps_per_epoch”获得了多个值
- python - Python:即使机器的日期错误也能获取当前正确的日期
- javascript - 使用正则表达式查询 mongoodb
- android - 如何在初始化插页式广告时正确修复错误?
- angular - 文本框内的左侧图标
- python - 高阶函数。以前未引用的本地变量
- python - 我正在尝试使用 python 解决 codewars 中的问题