gpt4 book ai didi

java - 使用 smack 4.2.2 从 Openfire 服务器获取所有用户

转载 作者:太空宇宙 更新时间:2023-11-04 10:14:36 25 4
gpt4 key购买 nike

好吧,我正在尝试使用 Smack 从 Openfire 服务器获取所有用户,不幸的是我不知道如何 - 我正在使用 Smack 4.2.2。

UserSearchManager usm= new UserSearchManager(connection);
DomainBareJid domainJid =
JidCreate.domainBareFrom(connection.getServiceName());
Form searchForm = usm.getSearchForm(domainJid);
Form answerForm = searchForm.createAnswerForm();
answerForm.setAnswer("Username", true);
answerForm.setAnswer("search", "*");
ReportedData data = usm.getSearchResults(answerForm, domainJid);
if (data.getRows() != null) {
for (ReportedData.Row row: data.getRows()) {
for (String jid:row.getValues("jid")) {
System.out.println(jid);
}
}
}

此代码不起作用,因为:

java.lang.IllegalArgumentException: Must have a local (user) JID set. Either you didn't configure one or you where not connected at least once

最佳答案

您无法让所有用户通过 XEP-0055: Jabber Search ,只需与过滤器一起使用,您确定用户没有它(如特殊字符)。我知道的唯一方法是使用 Rest API Plugin的开火。您可以从链接中阅读有关此插件的更多信息。祝你好运。

关于java - 使用 smack 4.2.2 从 Openfire 服务器获取所有用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51871922/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com