Rocket Chat REST API 调用通过 C# 发送消息的行为不一致
Inconsistent Behavior at Rocket Chat REST API call to send Message via C#
我已经在本地创建了一个 Rocket Chat 服务器(版本 2.4.11),我正在尝试通过 REST API.
向用户发送消息
该程序是用 C# 编写的,并使用 HttpWebRequest 创建每个调用,然后 WebResponse class 接收每个响应,解析其内容( 基于 JSON数据,根据 Rocket Chat REST API 文档)。
我的通话费是 4 倍,按顺序是:
1 - LOGIN ("api/v1/login" url, 作为 JSON 传递"sender" 用户的用户名和密码)
2 - IM.CREATE ("api/v1/im.create" url, 通过X-Auth-Token 和 X-User-Id 数据在 header 处,以及 JSON 用于 "username" 的目标帐户,以便创建或查找房间 ID用)
调用下一个API
3 - SENDMESSAGE ("api/v1/chat.sendMessage", 再次使用 X-Auth-Token 和 X-User-Id headers,以及一个 JSON,其中包含上次调用提供的房间 ID,以及消息)
4 - LOGOUT(api/v1/logout",用用户header数据结束connection/session)
当我使用自己的帐户( 是第一个创建的帐户,具有管理员角色)发送到任何其他帐户时,它有效并且消息被发送 - 每个步骤都会根据文档并传递给下一个调用 - 但是当我使用机器人帐户(例如 rocket.cat)时,或者即使我使用任何其他帐户,具有用户 o 管理员角色(创建一个具有 ADMIN 角色的新帐户来测试它)在 IM.CREATE 之后调用不起作用,returns 在 JSON 响应中没有数据。
创建新帐户时是否需要激活任何东西才能使其正常工作(即使角色是 ADMIN)?这是正确的顺序和 API 用于向用户发送消息(不是给一组人,而是给一个人,作为 IM)吗?
更新
GitHub(rocket chat 项目)上发布了问题
所以,事实证明是我不知道导致此错误的原因 - 收件人地址区分大小写,而帐户名 "user" 和 "User" 不区分大小写由 API 找到,除非它完全匹配大小写。虽然它传递了登录名 API(不区分大小写),但 im.create 不是,因此发件人姓名不需要 mach,但任何收件人都必须。
我已经在本地创建了一个 Rocket Chat 服务器(版本 2.4.11),我正在尝试通过 REST API.
向用户发送消息该程序是用 C# 编写的,并使用 HttpWebRequest 创建每个调用,然后 WebResponse class 接收每个响应,解析其内容( 基于 JSON数据,根据 Rocket Chat REST API 文档)。
我的通话费是 4 倍,按顺序是:
1 - LOGIN ("api/v1/login" url, 作为 JSON 传递"sender" 用户的用户名和密码)
2 - IM.CREATE ("api/v1/im.create" url, 通过X-Auth-Token 和 X-User-Id 数据在 header 处,以及 JSON 用于 "username" 的目标帐户,以便创建或查找房间 ID用)
调用下一个API3 - SENDMESSAGE ("api/v1/chat.sendMessage", 再次使用 X-Auth-Token 和 X-User-Id headers,以及一个 JSON,其中包含上次调用提供的房间 ID,以及消息)
4 - LOGOUT(api/v1/logout",用用户header数据结束connection/session)
当我使用自己的帐户( 是第一个创建的帐户,具有管理员角色)发送到任何其他帐户时,它有效并且消息被发送 - 每个步骤都会根据文档并传递给下一个调用 - 但是当我使用机器人帐户(例如 rocket.cat)时,或者即使我使用任何其他帐户,具有用户 o 管理员角色(创建一个具有 ADMIN 角色的新帐户来测试它)在 IM.CREATE 之后调用不起作用,returns 在 JSON 响应中没有数据。
创建新帐户时是否需要激活任何东西才能使其正常工作(即使角色是 ADMIN)?这是正确的顺序和 API 用于向用户发送消息(不是给一组人,而是给一个人,作为 IM)吗?
更新
GitHub(rocket chat 项目)上发布了问题所以,事实证明是我不知道导致此错误的原因 - 收件人地址区分大小写,而帐户名 "user" 和 "User" 不区分大小写由 API 找到,除非它完全匹配大小写。虽然它传递了登录名 API(不区分大小写),但 im.create 不是,因此发件人姓名不需要 mach,但任何收件人都必须。