GJa*_*ain 8 xmpp ejabberd xmppframework multiuserchat
作为一名乘员/成员,我需要通过ejabberd-14.x了解房间内的所有"成员"
我关注了http://xmpp.org/extensions/xep-0045.html#getmemberlist
我被禁止(401)跟随stanze - 需要管理员权限
<iq from='crone1@shakespeare.lit/desktop'
id='member3'
to='coven@chat.shakespeare.lit'
type='get'>
<query xmlns='http://jabber.org/protocol/muc#admin'>
<item affiliation='member'/>
</query>
</iq>
Run Code Online (Sandbox Code Playgroud)
如果我改变
<query xmlns='http://jabber.org/protocol/muc#admin'>
Run Code Online (Sandbox Code Playgroud)
从admin到用户命名空间,然后我得到状态代码501 - 功能未实现
你知道我怎样才能让一个房间的成员成为一个占有者或成员?
我不是此用例的管理员/主持人.
XEP-0045确实说:
注意:服务应该也应该将成员列表返回给仅限会员的房间中的任何占用者; 也就是说,当房间中的成员请求成员列表时,它不应该生成错误.此功能可以帮助客户显示所有现有成员,即使其中一些成员不在会议室中,例如帮助成员确定是否应邀请其他用户.服务应该允许任何成员检索成员列表,即使还不是占用者.
您自己至少需要成为会员才能访问附属列表。您当前是否是居住者(即在房间内)并不重要。
请注意,从属关系(例如“成员”)是一种持久设置,需要明确指定给人员,否则默认为“无”。在普通的不受限制的房间中,此设置除了允许您检索成员列表之外没有任何其他作用。成员列表与占用者列表无关。
(如果您只想知道当前谁在房间中,则应该发送带有名称空间http://jabber.org/protocol/disco#items而不是 的查询muc#admin。)
示例(刚刚在我的 ejabberd 服务器上尝试过)。尝试使用非关联帐户查询列表:
<iq from='crone1@shakespeare.lit/desktop'
id='member3'
to='coven@chat.shakespeare.lit'
type='get'>
<query xmlns='http://jabber.org/protocol/muc#admin'>
<item affiliation='member'/>
</query>
</iq>
<iq from='coven@chat.shakespeare.lit'
to='crone1@shakespeare.lit/desktop'
type='error'
id='member3'>
<query xmlns='http://jabber.org/protocol/muc#admin'>
<item affiliation='member'/>
</query>
<error code='403' type='auth'>
<forbidden/>
<text>Administrator privileges required</text>
</error>
</iq>
Run Code Online (Sandbox Code Playgroud)
使用特权(房间所有者)帐户授予第一个帐户成员权限:
<iq from='admin@shakespeare.lit/desktop'
type='set'
to='coven@chat.shakespeare.lit'
id='member4'>
<query xmlns='http://jabber.org/protocol/muc#admin'>
<item jid='crone1@shakespeare.lit' affiliation='member'/>
</query>
</iq>
<iq to='admin@shakespeare.lit/desktop'
from='coven@chat.shakespeare.lit'
type='result' id='member4'/>
Run Code Online (Sandbox Code Playgroud)
再试一次:
<iq from='crone1@shakespeare.lit/desktop'
type='get'
to='coven@chat.shakespeare.lit'
id='member5'>
<query xmlns='http://jabber.org/protocol/muc#admin'>
<item affiliation='member'/>
</query>
</iq>
<iq to='crone1@shakespeare.lit/desktop'
from='coven@chat.shakespeare.lit'
type='result'
id='member5'>
<query xmlns='http://jabber.org/protocol/muc#admin'>
<item jid='crone1@shakespeare.lit' affiliation='member'/>
</query>
</iq>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1074 次 |
| 最近记录: |