首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >google talk中nodejs和node-xmpp的用户授权

google talk中nodejs和node-xmpp的用户授权
EN

Stack Overflow用户
提问于 2011-08-20 05:17:57
回答 2查看 1.3K关注 0票数 4

我正在使用node-xmpp用node.js编写一个机器人。到目前为止,它非常简单,除了我在弄清楚google Talk如何处理它的用户授权时遇到了问题(当处理请求与不在您花名册上的人聊天时)。

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

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

另外,我知道,从技术上讲,当发出订阅请求时,将随订阅请求一起发送presence节。由于某些原因,使用node-xmpp我看不到这些东西。此外,我需要找出一种方法来确定当我的机器人登录时,哪些在线状态请求是“挂起的”。我认为(自然地)他们会被列在名单上,并带有某种标志,但这是不正确的。

任何帮助找出从这里到哪里将是有用的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-27 05:48:55

好了,我终于想出了在发出订阅请求后如何获取它们。没有太多关于它的信息,所以我会写一篇博客文章,但我觉得在这里回答可能也会很好。

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

http://code.google.com/apis/talk/jep_extensions/roster_attributes.html

示例节数:

代码语言:javascript
复制
<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>

服务器将首先使用挂起的服务器订阅"presence“节进行响应

例如:

代码语言:javascript
复制
<presence type="subscribe" from="pendinguser@gmail.com" to="namehere@gmail.com/D2D4E5A8" xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client"/>

然后你的花名册的其余部分的“存在”小节。重要的是要注意,您的订阅"presence“节不会从服务器发送给您,除非您执行花名册查询。我不确定这是为什么,为什么它没有被记录在我无法理解的地方。无论如何,至少我现在可以得到试图访问我的机器人的人的列表。

票数 5
EN

Stack Overflow用户

发布于 2011-08-21 15:42:48

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

这是一个谷歌聊天室主页 http://partychapp.appspot.com/你可以获得源代码 http://code.google.com/p/partychapp/

这些链接来自http://xmpp.org/2010/02/xmpp-roundup-13-services/,它有相当多的其他资源可能会有所帮助。

http://code.google.com/p/node-xmpp-bosh/有一些关于这方面的代码,我没有做过,但是这个主题很有趣。

我希望,如果你在写了一篇博客文章或一个项目并分享之后,你确实找到了答案。我会感兴趣的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7127528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档