21

XEP-0136標準を使用してGoogleサーバーからチャットメッセージのアーカイブを取得する方法を探していますが、機能を要求しようとしただけでこれらの結果が得られました。

リクエスト:

<iq type="get"><pref xmlns="urn:xmpp:archive"/></iq>

応答:

<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>

それで、グーグルはこの機能を実装していないように見えますが、それは本当ですか?私はそうは思わない。

Googleサーバーで確実にサポートされている不可視性を設定しようとしても同じことが起こりました。

リクエスト:

<iq type="set" id="invisible1" from="myEmail@gmail.com/00230F07">
    <query xmlns="jabber:iq:privacy">
        <active name="invisible"/>
    </query>
</iq>

応答:

<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>

おそらく私は何か間違ったことをしているのでしょう。どんな助けでもありがたいです。

4

3 に答える 3

11

私もかなり前からこれを調べてきました。JoSoがすでに指摘しているように、XMPP標準を介してチャット履歴にアクセスする方法はないようです。XMPPを介して可能なチャット履歴との唯一の対話は、非標準のXMPP拡張機能を介してオフレコを有効または無効にすることです。

そうは言っても、 Chrome拡張機能などの公式のGoogle Chatクライアント、その種類の放棄されたWindowsクライアント、およびAndroidアプリケーションはチャットを同期できます。したがって、外部からチャット履歴にアクセスするには、少なくとも何らかの方法が必要です。ただし、この機能に関するドキュメントはどこにもありません。Googleフォーラムのすべての質問には回答がありません。かなりの数の人が、それが理にかなっているようにXEP-0136を介して実装される可能性があると推測していますが、公式の言葉がなければ、完全に独自のXMPP拡張機能である可能性もあります。

不可視性のためにサポートされていますが、GoogleはXEP-0016拡張機能を使用する代わりに独自の方法を採用しています。この場合、少なくとも彼らのやり方はここに文書化されています。したがって、自分自身を非表示に設定するには、google:shared-status名前空間を使用するだけです。

とはいえ、GoogleのチャットサーバーでXMPP拡張機能を試すことは、多くの機能が独自のものであるか、標準の代わりに独自の厄介な拡張機能を使用するか、単に実装されていないため、非常に苦痛です。少なくとも、ハンドフルのパブリック拡張機能のドキュメントは非常に優れています。

あなたがグーグルからの公式の答えを探しているなら、あなたもかなり幸運です。PidginなどのサードパーティクライアントのGoogleトーク機能のほとんどは、開発者によってリバースエンジニアリングされています。あなたが尋ねる前に、彼らのオーディオ/ビデオとファイル転送の拡張機能も現在の標準からかなり離れています。

于 2012-08-31T06:43:33.577 に答える
10

Googleはチャット履歴を保護します。ただし、XMPPサーバーではなくGoogle Mailアカウントに保存されるため、XEP-0136は使用できません。

ステータスも。rfc3921で定義されているプレゼンスステータスとは異なるプライバシーを設定しようとしています(http://xmpp.org/rfcs/rfc3921.htmlを参照)。Googleは、XEP-0126で定義されているプラ​​イバシーを実装していません。

于 2012-08-29T12:06:07.463 に答える
0

非表示は、実際にはGoogle固有の「共有ステータス」拡張機能によって設定されます。

メッセージの取得は、XMPPを介して公開されません。

于 2014-01-18T02:57:41.843 に答える