请求时未提供XMPP照片类型作为响应

时间:2010-11-09 09:12:28

标签: xmpp photo vcard

我们正在尝试使用transports从我们自己的ejabberd服务器实现Facebook聊天。但是当我们请求联系人的照片时,它提供了binval但不提供照片类型。任何人都可以帮我解决这个问题。


修改

在回答后续问题时,这是我发送给服务器的请求:

var imgcard = $iq({ to:name, from:connection.jid, type: 'get', id :'avatar'+name})
    .c('vCard', {xmlns:'vcard-temp' })
connection.sendIQ(imgcard, getImg);

回复是:

<body xmlns="http://jabber.org/protocol/httpbind">
    <iq xmlns="jabber:client"
        to="yummy61@li188-236.members.linode.com/24581935361290171300602628"
        from="666346810@facebook.li188-236.members.linode.com" 
        id="avatar666346810@facebook.li188-236.members.linode.com"
        type="result">
        <vcard xmlns="vcard-temp">
            <desc></desc>
            <photo>
                <binval>/9j/4AAQSkZJRgABAQAAAQABAAD/9sAQwACAQEBAQECAQEBAgICAgIEAwICAgIFBAQDBAY... 
                </binval>
            </photo>
        </vcard>
    </iq>
</body>

我得到的是binval但不是图像类型。任何人都能说出我犯的错误吗?

1 个答案:

答案 0 :(得分:1)

使用JAXL library检索已连接帐户的vCard,我收到以下回复,其中附有<TYPE>image/jpeg</TYPE>节点。

[16000] 2010-11-09 23:49:47 - [[XMPPSend]] body
<body rid="5674" sid="41bbdfe522c4e1c3a3e1a4cfe20968f1" xmlns="http://jabber.org/protocol/httpbind"><iq type="get" id="7" from="abhinavsingh@chat.facebook.com/jaxl.1289375373_ba14f160_494AE079BF19C"><vCard xmlns="vcard-temp"/></iq></body>

[16000] 2010-11-09 23:49:48 - [[XMPPGet]]
<body sid="41bbdfe522c4e1c3a3e1a4cfe20968f1" rid="5674" xmlns="http://jabber.org/protocol/httpbind"><iq from="abhinavsingh@chat.facebook.com" to="abhinavsingh@chat.facebook.com/jaxl.1289375373_ba14f160_494AE079BF19C" id="7" type="result"><vCard xmlns="vcard-temp"><FN>Abhinav Singh</FN><PHOTO><TYPE>image/jpeg</TYPE><BINVAL></BINVAL></PHOTO></vCard></iq></body>

从Facebook聊天服务器回复你到底得到了什么?