Мне нужно получить открытые вкладки пользователя Google Chrome в моем приложении Java (а не на том же компьютере). Синхронизация Chrome включена, поэтому текущие вкладки синхронизируются с серверами Google.
Согласно документации синхронизации Chrome, это делается через XMPP. Поэтому я предполагаю, что можно подключиться к серверу XMPP Google (xmpp.google.com), например. через Smack (библиотека Java для XMPP), аутентифицировать и прослушивать сообщения protobuf, которые указывают на изменение сеанса вкладки. Конечно, доступны учетные данные пользователя или "client_id", используемые для идентификации клиентов Chrome.
Но мне сложно сменять метод аутентификации, который используется для подключения к серверу XMPP - я не могу понять, как это делается в исходном коде Chromium и нет документации, кроме комментариев с низким уровнем кода в коде. Библиотека libjingle, которую Google использует для своих служб на основе XMPP, доступна только для С++ и не поддерживается/документирована.
Итак, есть ли кто-нибудь, кто раньше сделал что-то подобное, и кто может дать какие-либо советы/подсказки о том, как работает процесс аутентификации?