Facebook XMPP имя IM с ресурса
Я использую FB XMPP, и я хотел бы знать, какой клиент использует пользователь. Если я использую чат Google Talk, я могу получить / установить его в атрибуте Ресурса. Но в чате FB это не работает. Это всегда пусто, хотя я установил это.
jid = [узел "@" ] домен [ "/" ресурс]
Использование agsXMPP:
Задавать: xmppClient.Resource = "::ISIM::";
Получить: presence.From.Resource
Google: id@gmail.com /:: ISIM:: 478f568d
Facebook: id@chat.facebook.com/
Как я могу узнать, что пользователь использует мой клиент? У кого-нибудь есть опыт?
2 ответа
Обнаружение служб и версия программного обеспечения не работают с серверами XMPP Facebook. Вот пример, я только что попытался отправить простое:
<iq xmlns="jabber:client" type="get" to="xxxxxxx@chat.facebook.com"
id="5"><query xmlns="http://jabber.org/protocol/disco#info"/></iq>
и вот что отвечает фейсбук:
<iq from="xxxx@chat.facebook.com" to="xxxxxx@chat.facebook.com/xxxxxx" type="error" xml:lang="en"
id="5"><query xmlns="http://jabber.org/protocol/disco#info"/><error code="503"
type="cancel"><service-unavailable xmlns="urn:ietf:params:xml:ns:xmpp-
stanzas"/></error></iq>
Для этого вы должны использовать обнаружение службы или версию клиента.
Увидеть:
XEP-0030: обнаружение службы
XEP-0092: версия программного обеспечения