安卓xmpp MUC设置默认配置

8

我正在使用 Xabber 开源项目,并能创建一个新的群组,但总是提示:房间已锁定,直到确认配置为止。我试图设置默认配置,但它抛出了异常:401 未被授权。具体问题是什么?

final MultiUserChat multiUserChat;
        try {
            multiUserChat = new MultiUserChat(xmppConnection, room);
            // CHANAKYA: set default config for the MUC
            // Send an empty room configuration form which indicates that we want
            // an instant room
            try {
                multiUserChat.sendConfigurationForm(new Form(Form.TYPE_SUBMIT));
            } catch (XMPPException e) {
                e.printStackTrace();
            }
2个回答

11

我也曾面临同样的错误。在这里我修改了代码,现在它对我有效了。 当我们调用任何getConfigurationForm()函数时,如果不加入其中,会出现401错误,即未经授权的错误。


我也遇到了同样的错误。这里我修改了代码,现在它能正常工作了。 在调用任何getConfigurationForm()函数时,如果没有将其连接起来,则会出现401未授权的错误。

multiUserChat.join(nickname, password);
setConfig(multiUserChat); // Here I am calling submit form

private void setConfig(MultiUserChat multiUserChat) {

    try {
        Form form = multiUserChat.getConfigurationForm();
        Form submitForm = form.createAnswerForm();
        for (Iterator<FormField> fields = submitForm.getFields(); fields
                .hasNext();) {
            FormField field = (FormField) fields.next();
            if (!FormField.Type.hidden.equals(field.getType())
                    && field.getVariable() != null) {
                submitForm.setDefaultAnswer(field.getVariable());
            }
        }
        submitForm.setAnswer("muc#roomconfig_publicroom", true);
        submitForm.setAnswer("muc#roomconfig_persistentroom", true);
        multiUserChat.sendConfigurationForm(submitForm);
    } catch (Exception e) {
        e.printStackTrace();
    }

}

现在我可以成功提交表单,没有任何异常。希望这对你有用。


嗨@u_pendra,你能告诉我如何更新群组配置吗? - Akhilesh Sk

0
您必须拥有设置配置的权限。这通常可以在服务器设置中更改。例如,如果您使用Openfire,则应前往 Group Chat > Group chat settings > 单击您的群聊服务 > Room Creation PermissionsAdministrators
您可能无法在客户端更改此设置,仅当您可以访问要连接的服务器时才可以更改。

嗨koesie,谢谢你的回复。我尝试将房间创建权限更改为所有人,并将我的Jabber ID添加到管理员列表中。但是,当我创建一个新组时,仍然会出现相同的错误。 - sukarno

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接