Google聊天服务器存档(XEP-0136)

Van*_*nya 21 chat xmpp archive google-talk

我正在寻找一种方法如何通过使用XEP-0136标准从谷歌服务器检索聊天消息的存档,但我得到这些结果只是试图要求该功能.

请求:

<iq type="get"><pref xmlns="urn:xmpp:archive"/></iq>
Run Code Online (Sandbox Code Playgroud)

响应:

<iq xmlns="jabber:client" type="error" to="myEmail@gmail.com/9FF72CA7">
    <pref xmlns="urn:xmpp:archive"/>
        <error code="501" type="cancel">
            <feature-not-implemented xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
        </error>
</iq>
Run Code Online (Sandbox Code Playgroud)

所以看起来谷歌没有实现这个功能,但这是真的吗?我不这么认为.

尝试设置Google服务器肯定支持的隐身也是如此.

请求:

<iq type="set" id="invisible1" from="myEmail@gmail.com/00230F07">
    <query xmlns="jabber:iq:privacy">
        <active name="invisible"/>
    </query>
</iq>
Run Code Online (Sandbox Code Playgroud)

响应:

<iq xmlns="jabber:client" type="error" id="invisible1" to="myEmail@gmail.com/00230F07">
    <query xmlns="jabber:iq:privacy">
        <active name="invisible"/>
    </query>
    <error code="501" type="cancel">
        <feature-not-implemented xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
    </error>
</iq>
Run Code Online (Sandbox Code Playgroud)

所以我可能做错了什么.任何帮助将不胜感激.

Bin*_*cks 11

我一直在研究这个问题很长一段时间了.正如JoSo已经指出的那样,似乎没有办法通过任何XMPP标准访问聊天记录.通过XMPP可以与聊天记录进行的唯一交互是通过非标准XMPP扩展启用或禁用非记录.

话虽这么说,官方谷歌聊天客户端,如Chrome扩展,他们放弃的Windows客户端和Android应用程序都可以同步聊天.因此,必须至少有一些方法可以从外部访问聊天记录.但是,此处没有关于此功能的文档,Google论坛中的所有问题都没有得到答复.很多人猜测它可能是通过XEP-0136实现的,因为它有意义,但没有任何官方用语,它也可能是一个完全专有的XMPP扩展.

对于隐身,它受支持,但Google再次采用自己的方式,而不是使用XEP-0016扩展.在这种情况下,至少他们的方式记录在这里.因此,只需使用他们的google:shared-status命名空间来设置自己隐身.

尽管如此,尝试使用Google的聊天服务器进行任何XMPP扩展都是一件非常痛苦的事情,因为许多功能都是专有的,使用他们自己的笨拙扩展而不是标准,或者根本没有实现.至少手动充满公共扩展的文档非常好.

如果你正在寻找谷歌的官方答案,你也很幸运.第三方客户端(如Pidgin)的大多数Google Talk功能都由开发人员进行了逆向工程.在您提出要求之前,他们的音频/视频和文件传输扩展距离当前标准还有一些里程.


kon*_*nqi 10

Google会保护您的聊天记录.但它存储在您的Google Mail帐户中,而不是存储在XMPP服务器上,因此XEP-0136不可用.

至于地位.您正尝试设置与rfc3921中定义的状态不同的隐私(请参阅http://xmpp.org/rfcs/rfc3921.html).Google未按照XEP-0126中的规定实施隐私.