Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js google talk中的用户授权与nodejs和node xmpp_Node.js_Xmpp_Google Talk - Fatal编程技术网

Node.js google talk中的用户授权与nodejs和node xmpp

Node.js google talk中的用户授权与nodejs和node xmpp,node.js,xmpp,google-talk,Node.js,Xmpp,Google Talk,我正在node.js中使用node xmpp编写一个bot。到目前为止,这是非常直截了当的,除了我在弄清楚google Talk如何处理它的用户授权(当处理请求与不在你名册上的人聊天时)方面遇到了一个问题 我正在捕获所有通过的节并将它们记录到控制台,但是没有来自请求授权的用户的数据 任何关于我应该寻找什么的解释,或者这个事件是否发生在jabber协议上 [附加]我知道,从技术上讲,当提出订阅请求时,会随订阅请求一起发送状态节。由于某些原因,我无法看到这些数据通过使用节点xmpp的线路传输过来。此

我正在node.js中使用node xmpp编写一个bot。到目前为止,这是非常直截了当的,除了我在弄清楚google Talk如何处理它的用户授权(当处理请求与不在你名册上的人聊天时)方面遇到了一个问题

我正在捕获所有通过的节并将它们记录到控制台,但是没有来自请求授权的用户的数据

任何关于我应该寻找什么的解释,或者这个事件是否发生在jabber协议上

[附加]我知道,从技术上讲,当提出订阅请求时,会随订阅请求一起发送状态节。由于某些原因,我无法看到这些数据通过使用节点xmpp的线路传输过来。此外,我需要找到一种方法来确定当我的bot登录时哪些状态请求处于“挂起”状态。我认为(不准确地)他们会被列入名单,并带有某种旗帜,但这是不正确的

任何有助于我找到下一步的方法都会很有用。

注意:这不是我的知识领域,只是我的兴趣所在。我没有实际经验,只是做了一点研究。这本应该是一个评论,但是在这个主题上做更多的搜索,我已经想出了一些可能有用的东西

这是一个谷歌聊天室主页你可以获得来源

这些链接来自于有很多其他可能有用的资源的网站

有一些关于这方面的代码,我没有做过,但是这个主题很有趣


我希望在你写了一篇博文或一个项目并与他人分享后,你能找到答案。我会感兴趣的。

好的,我终于想出了在订阅请求发出后如何获得它们。关于它的信息不多,所以我会写一篇博文,但我觉得在这里回答它也不错

我发现,如果我根据以下信息进行谷歌名册查询:

示例节:

<iq from="username@gmail.com/D2D4E5A8" type="get" id="google-roster-1"><query xmlns="jabber:iq:roster" xmlns:gr="google:roster" gr:ext="2"/></iq>

服务器将首先使用挂起的服务器订阅“状态”节进行响应

例:



然后是你花名册上其他的“在场”章节。需要注意的是,除非您进行花名册查询,否则您的订阅“状态”节不会从服务器发送给您。我不确定这是为什么,为什么它没有记录在某处,这是我无法理解的。无论如何,至少我现在可以得到试图访问我的机器人的人的名单。

这看起来像是服务器端的信息。我或多或少地在尝试确定如何使用gtalk作为客户端查看挂起的状态订阅请求…用我发现的更多内容更新了它。它可能无法直接处理订阅请求,但我希望它能有所帮助。博客发布:
<presence type="subscribe" from="pendinguser@gmail.com" to="namehere@gmail.com/D2D4E5A8" xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client"/>