我已成功通过xmpp协议登录facebook.
我使用了facebook文档中提供的PHP代码:
<?php
// Copyright 2004-present Facebook. All Rights Reserved.
$STREAM_XML = '<stream:stream '.
'xmlns:stream="http://etherx.jabber.org/streams" '.
'version="1.0" xmlns="jabber:client" to="chat.facebook.com" '.
'xml:lang="en" xmlns:xml="http://www.w3.org/XML/1998/namespace">';
$AUTH_XML = '<auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" '.
'mechanism="X-FACEBOOK-PLATFORM"></auth>';
$CLOSE_XML = '</stream:stream>';
$RESOURCE_XML = '<iq type="set" id="3">'.
'<bind xmlns="urn:ietf:params:xml:ns:xmpp-bind">'.
'<resource>fb_xmpp_script</resource></bind></iq>';
$SESSION_XML = '<iq type="set" id="4" to="chat.facebook.com">'.
'<session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></iq>';
$START_TLS = '<starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>';
function open_connection($server) {
print "[INFO] Opening connection... ";
$fp = fsockopen($server, 5222, $errno, $errstr);
if (!$fp) {
print "$errstr ($errno)<br>";
} else {
print "connnection open<br>";
}
return $fp; …Run Code Online (Sandbox Code Playgroud) FB身份验证是正确的,我可以接收消息.唯一的问题是向FB好友发送消息时.没有显示任何错误消息或警告,但消息根本没有传递给FB好友.
这是我发送的字符串
<message xmlns="http://www.facebook.com/xmpp/messages" to="-FB_ID@chat.facebook.com">
<body>my_message</body></message>
Run Code Online (Sandbox Code Playgroud)
有没有人有同样的问题?