Я хотел бы разрешить любому участнику комнаты чата получить список всех участников. В настоящее время это могут сделать только пользователи, которые являются модераторами. Кажется, я не могу найти, где мне нужно установить/изменить права пользователя, чтобы это разрешить.aSmack muc.getMembers() Запрещено (403) OPENFIRE
Если вход в качестве замедлителя следующий код работает:
try {
Collection<Affiliate> members = muc.getMembers();
System.out.println(members.size());
} catch(XMPPException e) {
e.printStackTrace();
}
Если войти в систему как обычный член, приведенный выше код бросает Forbidden 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 Member] (http://xmpp.org/extensions/xep-0045.html#roles-default) не совпадает с объектом, который присоединился к комнате. Думаю, вам нужен список всех сущностей, находящихся в настоящее время в MUC, правильно? – Flow
Привет @Flow, нет Мне бы хотелось, чтобы список всех членов MUC, или список всех объектов, которые когда-либо были в MUC. Я думал, что смогу достичь этого позже, зарегистрировав каждого нового участника в качестве участника, когда они присоединятся, хотя вышеупомянутая проблема возникла. –