Подтвердить что ты не робот

Архив сервера чата Google (XEP-0136)

Я ищу способ получить архив сообщений чата с сервера google с помощью стандарта XEP-0136, но я получил эти результаты, просто попробовав эту функцию.

Запрос:

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

Ответ:

<iq xmlns="jabber:client" type="error" to="[email protected]/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 не реализует эту функцию, но верно ли это? Я так не думаю.

То же самое произошло с попыткой установить невидимость, которая определенно поддерживается сервером Google.

Запрос:

<iq type="set" id="invisible1" from="[email protected]/00230F07">
    <query xmlns="jabber:iq:privacy">
        <active name="invisible"/>
    </query>
</iq>

Ответ:

<iq xmlns="jabber:client" type="error" id="invisible1" to="[email protected]/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>

Так что, наверное, я делаю что-то неправильно. Любая помощь будет оценена.

4b9b3361

Ответ 1

Я тоже занимаюсь этим довольно долгое время. Похоже, как уже указывал JoSo, нет никакого способа получить доступ к истории чата через любой стандарт XMPP. Единственное взаимодействие с историей чата, которое возможно с помощью XMPP, включает или отключает Off-The-Record через нестандартное расширение XMPP.

Говоря об этом, официальные клиенты Google Chat, такие как расширение Chrome, их заброшенный клиент Windows и приложение Android могут синхронизировать чаты. Таким образом, должен быть как минимум доступ к истории чата извне. Однако документация по этой функции отсутствует, и все вопросы в форумах Google остаются без ответа. Довольно много людей догадываются, что это может быть реализовано с помощью XEP-0136, поскольку это имеет смысл, но без какого-либо официального слова это может быть полностью проприетарное расширение XMPP.

Для невидимости он поддерживается, но Google снова использует свой собственный путь вместо использования расширения XEP-0016. В этом случае по крайней мере их способ документируется здесь. Таким образом, просто используйте свое пространство имен google: shared-status, чтобы сделать себя невидимым.

Все, что говорят, проверять любые расширения XMPP с чат-серверами Google - настоящая боль, поскольку многие функции являются собственностью, используют свои собственные неудобные расширения вместо стандартных или просто не реализованы. По крайней мере, документация для полномасштабных публичных расширений достаточно хороша.

Если вы ищете официальные ответы от Google, вам также очень повезло. Большинство функций Google Talk сторонних клиентов, таких как Pidgin, были обратно спроектированы разработчиками. Прежде чем вы спросите, их расширения аудио/видео и передачи файлов также находятся в нескольких милях от текущего стандарта.

Ответ 2

Google защищает историю чатов. Но он хранится в вашей учетной записи Google Mail, а не на сервере XMPP, поэтому XEP-0136 недоступен.

Что касается статуса. Вы пытаетесь установить конфиденциальность, которая отличается от статуса присутствия, как определено в rfc3921 (см. http://xmpp.org/rfcs/rfc3921.html). Google не реализует конфиденциальность, как определено в XEP-0126.

Ответ 3

Невидимость фактически устанавливается через расширение "shared status" .

Поиск сообщений не отображается через XMPP.