XMPP:如何通过Jabber Id查询特定的花名册信息

XMPP:如何通过Jabber Id查询特定的花名册信息,xmpp,strophe,Xmpp,Strophe,我是XMPP的初学者。我正在使用Strophe js库 现在我想通过jabber id获得一个特定的花名册项目 但我不知道我需要发送什么样的节和属性 我有办法通过发送IQ节来检索我的名册列表,如下所示: <iq from='juliet@example.com/balcony' id='bv1bs71f' type='get'> <query xmlns='jabber:iq:roster'/> </iq> <iq

我是XMPP的初学者。我正在使用Strophe js库

现在我想通过jabber id获得一个特定的花名册项目

但我不知道我需要发送什么样的节和属性

我有办法通过发送IQ节来检索我的名册列表,如下所示:

<iq from='juliet@example.com/balcony'
       id='bv1bs71f'
       type='get'>
    <query xmlns='jabber:iq:roster'/>
</iq>
<iq id='bv1bs71f'
       to='juliet@example.com/chamber'
       type='result'>
    <query xmlns='jabber:iq:roster' ver='ver7'>
      <item jid='nurse@example.com' name='Nurse'/>
      <item jid='romeo@example.net' name='Romeo'/>
      <item jid='abc@example.net' name='Abc'/>
      ....
    </query>
</iq>
SELECT * FROM roster WHERE jabberID = ....
与此相反:

SELECT * FROM roster
我想通过它的JID获得联系人的昵称

提前感谢:)

只需在你的智商中添加一个“to”属性。如果您是联合订阅的,则应返回名称


$iq({type'get',from:myjid,to:jid}).c('query',{xmlns:Strophe.NS.lotster})

这是针对muc房间中的用户还是muc房间中的用户?或者…?这是针对一般环境中的用户,我的联系人列表中的用户:)对不起,马克,但它似乎不起作用。我已经发送了
,但是服务器没有给出任何响应。你的替代方法是循环浏览花名册,并以这种方式进行gt。这是我想象的,但我认为这不是很有效&我希望通过节检索它。但是谢谢你的建议:)如果你正在使用Strophe的花名册插件,一旦你拿到花名册,你只需要调用connection.lotster.findItem(jid)。“项目”数组是可用的,直到你更改页面(以及更改花名册)。好的,马克,我从来都不知道Strophe以前有插件。我会试试的,谢谢:)这就是插件,对吗?