我想允许任何聊天室成员获取所有成员的列表。目前,只有主持人可以这样做。我似乎无法找到我需要设置/更改用户权限以允许此操作的位置。aSmack muc.getMembers()Forbidden(403)OPENFIRE
如果登录的主持人下面的代码工作:
try {
Collection<Affiliate> members = muc.getMembers();
System.out.println(members.size());
} catch(XMPPException e) {
e.printStackTrace();
}
如果记录在作为一个正常的构件,上面的代码抛出一个禁止403错误。
06-25 19:53:51.198: W/System.err(12943): forbidden(403)
06-25 19:53:51.208: W/System.err(12943): at org.jivesoftware.smackx.muc.MultiUserChat.getAffiliatesByAdmin(MultiUserChat.java:1743)
06-25 19:53:51.208: W/System.err(12943): at org.jivesoftware.smackx.muc.MultiUserChat.getMembers(MultiUserChat.java:1657)
任何意见将不胜感激。
请注意,[MUC成员](http://xmpp.org/extensions/xep-0045.html#roles-default)与加入房间的实体不同。我想你想要一个当前在MUC中的所有实体的列表,对吗? – Flow
嗨@Flow,不,我想要一个所有MUC成员的列表,或者是所有实体在MUC中的列表。尽管出现了上述问题,但我认为我可以通过在每个新参加者加入时注册成为会员来实现后者。 –