这将查询我名单中的所有联系人列表,但它只允许我查询JID而不是全名。如何查询名单并获取每个名字?
$(document).bind('connected', function(){
var iq = $iq({type: 'get'}).c('query', {xmlns: 'jabber:iq:roster'});
});
感谢。
答案 0 :(得分:1)
var iq = $iq({type: 'get'}).c('query', {xmlns: 'jabber:iq:roster'});
conn.sendIQ(iq,
function success(iq){
$(iq).find('item').each(function () { //all contacts
var jid = $(this).attr('jid');
var name = $(this).attr('name') || jid;
var subscr = $(this).attr('subscription'); //type subscription
console.log('contacts: jid:' + jid + ' Name:' + name);
});
},
function failure(iq){
console.log(iq);
},30000/*timeout sendIQ*/
);
你也可以和
混在一起<iq from='userroster@jabber.org'
id='v1'
type='get'>
<vCard xmlns='vcard-temp'/>
</iq>
获取每个用户的vcard,然后获取全名。
试试吧。