Ejabberd api 端点 private_set 不会保存数据

Ejabberd api endpoint private_set won't save the data

我正在尝试操作 ejabberd 服务器上的私有存储,我将 POST 和 json 发送到端点 private_set。调用的答案 private_set 是 200 和正文 0,表示一切正常然后我调用另一个端点 private_get 来查询私有存储,当我最后一次调用时存储没有更新.

{
    "user": "example",
    "host": "localhost",
    "element": "<query xmlns='jabber:iq:private'><storage xmlns='storage:bookmarks'><conference autojoin='false' jid='test@conference.localhost' name='test'><nick>example</nick></storage></query>"
}

我不知道旧版本,但至少对于 ejabberd 19.02,Query 元素不得包含在参数中。因此,命令示例参数的文档中存在错误。另外,您忘记关闭会议元素。

试试这个:

{
    "user": "example",
    "host": "localhost",
    "element": "<storage xmlns='storage:bookmarks'><conference autojoin='false' jid='test@conference.localhost' name='test'><nick>example</nick></conference></storage>"
}