2

node-xmpp (GTalk アカウント) で XMPP 名簿 (および最終的には各連絡先のプレゼンス状態) を取得する方法がわかりません。

私のコード例はログインして接続できますが、何を送信してリッスンするかについて少し迷っています。

var xmpp = require('node-xmpp')

jid = 'example@gmail.com'
password = 'xxxxxxxxxxxxxx'

// Establish a connection
var conn = new xmpp.Client({
    jid: jid,
    password: password,
    host: 'talk.google.com',
    port: 5222
})

conn.on('online', function() {
    console.log('ONLINE')
    var roster = new xmpp.Element('iq', {
        type: 'get',
        from: jid,
        id: new Date().getTime()
    }).c('query', { xmlns: 'jabber:iq:roster' })
    conn.send(roster) // Now what?
})

conn.on('error', function(e) {
    console.log(e)
})
4

1 に答える 1

4

私の名簿クエリの構造が間違っていたようです、これは正しく機能します:

conn.on('online', function() {
  console.log('ONLINE')
  var roster = new xmpp.Element('iq', {
    id: 'roster_0',
    type: 'get'
  }).c('query', {
    xmlns: 'jabber:iq:roster'
  })
  conn.send(roster)
})
于 2012-12-07T06:00:24.037 に答える