android - 当组成员尝试获取成员列表时获得禁止的身份验证

标签 android smack mongoose-im

我正在尝试使用 getMembers() 获取成员列表,但我收到“错误代码:403,禁止身份验证”,尝试获取成员列表的用户是组的成员,但如果我这样做了楼主同样的操作就可以成功拿到一个list。

这是我获取成员列表 'muc#roomconfig_getmemberlist' : [moderator, participants, visitor] 的配置

并且在 xep-045 中也非常清楚地提到“服务还应该将成员列表返回给仅限成员的房间中的任何占用者;即,当房间中的成员请求成员列表时,它不应该产生错误。 "

那么我在这里缺少什么?

这些是捕获数据包

发送(0):

<iq to='membersonlygroup@muc.domain' from='92123456@domain/Resource' id='1BO5n-74' type='get'><query xmlns='http://jabber.org/protocol/muc#admin'><item affiliation='member'></item></query></iq>

SMACK:接收(0):
 `<iq from='membersonlygroup@muc.domain' to='92123456@domain/Resource' id='1BO5n-74' type='error'><query xmlns='http://jabber.org/protocol/muc#admin'><item affiliation='member'/></query><error code='403' type='auth'><forbidden xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/><text xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'>Administrator privileges required</text></error></iq><r xmlns='urn:xmpp:sm:3'/>`

编辑:
另一件事是成员具有参与者的角色,但我注意到在这种情况下角色值为 null。

enter image description here

最佳答案

您能否在服务器端检查您的房间配置。
要创建房间,您需要使用以下配置。
How to send room configuration form and create persistence rooms from android using smack 4.3.4

关于android - 当组成员尝试获取成员列表时获得禁止的身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50036653/

相关文章:

android - 在 Ejabberd/XMPP 中禁止用户同时从多个设备登录

java - onSizeChanged() 调用 onCreate() 和 onStart()? - 安卓

android - 调整 EditText 大小以适合文本大小

安卓异常处理

xmpp - MAM XEP-0313 - 查询特定用户的对话列表

mysql - MongooseIM 连接到 MySQLDB 未在数据库中存储任何内容

android - 更改 ListView 项目的文本颜色

android - 如何在 Smack 4.1 中的 XMPP 消息标签中添加自定义属性(昵称)

android - 击打 4.1 : Exception reloading roster