【问题标题】:Inconsistent Behavior at Rocket Chat REST API call to send Message via C#Rocket Chat REST API 调用通过 C# 发送消息时的不一致行为
【发布时间】:2020-04-22 19:02:13
【问题描述】:

我在本地创建了一个 Rocket Chat 服务器(版本 2.4.11),我正在尝试通过 REST API 向用户发送消息。

该程序用 C# 编写,使用 HttpWebRequest 创建每个调用,然后使用 WebResponse 类接收每个响应,解析其内容(根据 Rocket Chat REST API 文档,witch 是基于 JSON 的数据)。

我的电话是 4 倍,按此顺序:

1 - LOGIN(“api/v1/login”网址,以 JSON 格式传递“发件人”用户的用户和密码)

2 - IM.CREATE ("api/v1/im.create" url,在标头和目标帐户的“用户名”的 JSON,以便创建或查找用于调用下一个 API 的房间 ID)

3 - SENDMESSAGE(“api/v1/chat.sendMessage”,同样带有 X-Auth-Token 和 X-User-Id 标头以及 JSON使用上次通话提供的房间 ID,以及消息)

4 - LOGOUT(“api/v1/logout”,带有用于结束连接/会话的用户标头数据)

当我使用自己的帐户(女巫是创建的第一个帐户,具有 ADMIN 角色)发送到任何其他帐户时,它可以工作并发送消息 - 每个步骤都会根据文档收到响应并传递到下一步通话 - 但是当我使用机器人帐户(例如rocket.cat)或者即使我使用任何其他帐户,具有用户o管理员角色(创建一个具有ADMIN角色的新帐户来测试它)时,调用在之后不起作用IM.CREATE,返回的 JSON 响应中没有数据。

在创建新帐户以使其工作时我需要激活什么(即使角色是管理员)?这是用于向用户发送消息的正确顺序和 API(不是一组人,而是一个人,作为 IM)?

更新

REST API, Error 400 calling after Login #17334 GitHub(火箭聊天项目)上发布了该问题

【问题讨论】:

    标签: c# json rest rocket.chat


    【解决方案1】:

    所以,事实证明这是我不知道导致此错误的原因 - 收件人地址区分大小写,并且 API 找不到帐户名称“用户”和“用户”,除非它匹配确切的情况。虽然它传递了登录 API(不区分大小写),但 im.create 不是,因此发送者名称不需要匹配,但任何接收者都必须匹配。

    【讨论】:

      猜你喜欢
      • 2019-05-19
      • 1970-01-01
      • 1970-01-01
      • 2021-04-01
      • 1970-01-01
      • 2019-02-03
      • 2020-12-09
      • 2020-11-12
      • 1970-01-01
      相关资源
      最近更新 更多