Авторизация пользователя в Google Talk с помощью nodejs и node-xmpp - PullRequest
4 голосов
/ 20 августа 2011

Я пишу бота в node.js, используя node-xmpp.Пока что это довольно просто, за исключением того, что у меня возникла проблема с выяснением того, как Google Talk обрабатывает авторизацию пользователя (когда я имею в виду запрос чата с кем-то, НЕ включенным в ваш список).проходя и регистрируя их на консоли, но нет данных, поступающих от пользователя, который запрашивает авторизацию.

Любые объяснения того, что я должен искать, или это событие вообще происходит по протоколу jabber.*

[добавлено] Я знаю, что технически, когда делается запрос на подписку, с помощью запроса на подписку отправляется раздел присутствия.По какой-то причине я не вижу, чтобы они передавались по проводам с помощью node-xmpp.Кроме того, мне нужно найти способ определить, какие запросы присутствия «ожидают», когда мой бот входит в систему. Я думал (неточно), что они будут перечислены в списке с каким-то флагом, но это не правильно.

Любая помощь в выяснении, куда идти отсюда, будет полезна.

Ответы [ 2 ]

5 голосов
/ 27 августа 2011

Хорошо, я наконец понял, как получить запросы на подписку после того, как они были сделаны.Там не так много информации, поэтому я соберу пост в блоге, но я чувствую, что ответ на этот вопрос также может быть хорошим.

Я обнаружил, что если я сделаю запрос в реестре Google на основена приведенную ниже информацию:

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

пример строфа:

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

Сервер сначала ответит с помощью ожидающих подписки сервера разделы «присутствия»

ex:

<presence type="subscribe" from="pendinguser@gmail.com" to="namehere@gmail.com/D2D4E5A8" xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client"/>

, а затем и остальные строфы вашего присутствия.Важно отметить, что разделы «присутствия» вашей подписки не будут отправлены вам с сервера, если вы не выполните запрос реестра.Я не уверен, почему это так и почему это не задокументировано где-то вне меня.В любом случае, по крайней мере, теперь я могу получить список людей, пытающихся получить доступ к моему боту.

1 голос
/ 21 августа 2011

Примечание : Это не моя область знаний, а только мой интерес. У меня нет практического опыта, только немного исследований. Это был бы комментарий, однако я продолжил поиск по этой теме, и я придумал еще кое-что, что могло бы помочь.

Вот чат чат Google домашняя страница 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/ есть некоторый код по этому поводу, я этого не делал, но тема интересная.

Я надеюсь, что вы найдете ответ на свой вопрос после того, как напишите пост в блоге и / или проект и поделитесь им. Это было бы интересно для меня.

...