1

我们正在尝试使用传输从我们自己的 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 但不是图像类型。谁能说出我犯的错误?

4

1 回答 1

1

使用JAXL 库检索已连接帐户的 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 聊天服务器得到什么回应?

于 2010-11-10T07:48:47.377 回答