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

2023-11-26

我尝试过对 Node.js 使用各种 XMPP 库,但在连接到 Google Talk 的 XMPP 服务器时遇到问题。我想联系并查看朋友的状态,但我什至无法出门!

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

    jid = '[email protected]';
    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 用户名和密码正确 - 有什么提示/想法吗?


弄清楚了。

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

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

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

...to...

var conn = new xmpp.Client({...})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Node.js 上通过 XMPP 连接到 Google Talk 的相关文章

随机推荐

  • 获取所有打开的 WPF 窗口

    我正在尝试获取所有打开的窗口 我尝试使用System Windows Application Current Windows但我在行中得到空指针异常foreach卢普群岛有人知道出了什么问题吗 public Window getWindow
  • C++14 标准中哪里说非 constexpr 函数不能在 constexpr 函数的定义中使用?

    例如 下面的代码不会编译 除非incr 被宣布constexpr int incr int n return n constexpr int foo int n 0 incr n return n 查看 C 14 中的 7 1 5 3 我们
  • 来自现有 SQLite 数据库的 Core Data 数据架构

    是否可以从现有的 SQLite 数据库文件生成 xcdatamodel CoreData 数据模型 我开发了一个 SQLite 数据库并针对它编写了一个 Java API 现在 我需要为同一个数据库 文件 编写等效的 iOS API 我不想
  • 安装 Eclipse IDE 时出错

    我正在尝试安装 eclipse IDE Java for Developers 但在安装过程中遇到以下错误 我的系统驱动器有足够的空间 过去我已经安装和卸载了 eclipse IDE 那么这会给我重新安装带来任何问题吗 10 50 59 E
  • 管道作业 - 向上游传递参数?

    TL DR 显然 在 Jenkins 管道作业中 您可以轻松地将参数传递给下游 我想知道的是你能否通过它们upstream 使用案例 我们有三份工作 job one job two and job three 这些通常单独运行 因为只需要一
  • iPhone - 以编程方式删除状态栏

    我制作了一个应用程序来实现 iPhone 的相机 当用户完成选择图像后 状态栏会重新出现 如何确保状态栏保持隐藏状态 这是我的代码 IBAction pickImage id sender UIImagePickerController p
  • Firebase 存储安全规则

    我刚刚开始使用 Firebase 并且能够读取 写入 编辑 删除数据库 在我的应用程序中 我仅向用户显示数据 如果他 她有权访问数据 我通过创建一个用户节点和另一个节点 称为服务 并引用该用户子节点中的服务来做到这一点 我以前从未使用过 F
  • 如何在express router中使用body-parser?

    我有一个具有对象的 post api 但我无法在控制台中打印它的抛出未定义我以为我缺少主体解析器 但在添加主体解析器后我看到错误body parser deprecated bodyParser use individual json ur
  • 当 SQL 数据库添加新行而不进行轮询时,C# Azure 函数触发

    有没有一种方法可以在每次将新数据库行添加到 SQL azure 数据库时调用 Azure 函数 理想情况下没有任何基于计时器的轮询 我知道这可以在 blob 存储上完成 但没有找到在 Azure 函数上执行此操作的方法 提前致谢 Funct
  • 未命名命名空间访问规则

    我正在查看部分7 3 1 1在 C 03 标准中 期望找到未命名命名空间中定义的项的访问规则的一些描述 对于未命名的命名空间 规则似乎有点不同 因为您无法完全限定对其中的项目的访问权限 我知道至少在同一个翻译单元中 人们可以访问未命名名称空
  • 无法在带有 glassfish 服务器的 ubuntu 上使用 intelliJ 在调试模式下运行 Web 应用程序

    在 ubuntu 12 04 上的 intelliJ 12 0 和 glassfish 3 1 2 2 中 我尝试在调试模式下启动我的 Web 应用程序 但收到以下错误消息 Error starting domain domain1 The
  • 在 Ruby/Rails 中读取远程 MP3 文件的 ID3 标签?

    使用 Ruby 如何解析远程 mp3 文件的 ID3 标签而不将整个文件下载到磁盘 这个问题已经被问到Java and 银光 但没有红宝石 Edit 查看 Java 答案 似乎可以 HTTP 支持 仅下载文件的尾部 即标签所在的位置 这可以
  • Apache Camel MDC 从 Body 添加字段

    我正在使用 apache Camel 并希望使用 MDC 将某些键添加到我的日志中 我通过官方Camel MDC 日志记录文档这非常棒 我可以毫不费力地记录我的routeId 我还需要添加来自骆驼身体的字段 最坏的情况是我可以在所有路由中手
  • @ViewScoped 托管 bean 在回发期间加载多次

    我在 jsf Facelet 上有一个日历 编辑器 文件上传和 dataTable primefaces 控件 代码如下
  • Android中如何获取文件的绝对路径?

    btnimport setOnClickListener new View OnClickListener Override public void onClick View v Intent fileintent new Intent I
  • 如何在android中的每个标记(多个标记)上打开信息窗口?

    由于我使用的是 Google 地图 v2 并且我想打开多个制造商的信息窗口 我已经使用单个标记完成了此操作 并且还使用了 show info window 但它适用于最后一个标记并且仅适用于一个 我只想要安卓 public class Ma
  • SocketIOException:客户端中出现意外的握手错误

    以下异常 SocketIOException Unexpected handshake error in client OS Error errno 12268 0 SecureFilterImpl handshake dart io pa
  • OData V4 + WebAPI 按枚举的 Int 值过滤?

    OData V4 有枚举支持 但似乎您必须仅按命名空间进行搜索 现在如何通过值而不是文本表示进行搜索 在 odata V3 中 您可以查询 filter Status eq 35 where 35 is Complete在枚举中 即使该字段
  • PostgreSQL 中的混合隔离级别

    如果任何其他会话使用例如可串行化事务 这是否重要 自动提交还是 READ COMMITED 隔离级别 换句话说 当从多个进程 线程 或其他需要注意的事项 访问数据库时 混合隔离级别 和自动提交 是否存在任何危险 请注意 我知道 普通 问题
  • 在 Node.js 上通过 XMPP 连接到 Google Talk

    我尝试过对 Node js 使用各种 XMPP 库 但在连接到 Google Talk 的 XMPP 服务器时遇到问题 我想联系并查看朋友的状态 但我什至无法出门 我有一个通过 Google Apps for Domains 托管的个人域