一尘不染

通过Node.js上的XMPP连接到Google Talk

node.js

我已经尝试过将多种XMPP库用于Node.js,但是在连接到Google
Talk的XMPP服务器时遇到了麻烦。我想联系并阅读朋友的状态,但我什至无法走出去!

  1. 我有一个通过Google Apps for Domains托管的个人域,例如mydomain.com
  2. 我编写了以下代码-它使用了node-xmpp库(https://github.com/astro/node-xmpp):
        jid = 'ryan@mydomain.com';
    password = 'my_google_password';

    // Establish a connection
    var conn = new xmpp.Component({
        jid         : jid,
        password    : password,
        host        : 'talk.google.com',
        port        : 5222
    });
    conn.on('online', function(){
        sys.put("ONLINE");        
    });
    conn.on('error', function(e) {
         sys.puts(e);
    });

建立了连接,但是身份验证失败,我从Google Talk收到以下消息:

<stream:error xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client"> <not-authorized xmlns="urn:ietf:params:xml:ns:xmpp-streams"/> </stream:error>

...我想念什么吗?我尝试了其他库(https://github.com/mwild1/xmppjs),甚至是Python库,但仍然无法进行身份验证。我100%确定我的Google用户名和密码正确-
有任何提示/想法吗?


阅读 216

收藏
2020-07-07

共1个答案

一尘不染

弄清楚了。

我正在处理一些不准确的示例。

在上面的示例中,您将需要更改:

var conn = new xmpp.Component({...})

…至…

var conn = new xmpp.Client({...})
2020-07-07