我们正在尝试使用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但不是图像类型。任何人都能说出我犯的错误吗?
答案 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聊天服务器回复你到底得到了什么?