python-xmpppy和Facebook聊天集成

我正在尝试创建一个非常简单的脚本,该脚本使用python的xmpppy通过Facebook聊天发送消息.

import xmpp
FACEBOOK_ID = "username@chat.facebook.com"
PASS = "password"
SERVER = "chat.facebook.com"
jid=xmpp.protocol.JID(FACEBOOK_ID)
C=xmpp.Client(jid.getDomain(),debug=[])
if not C.connect((SERVER,5222)):
    raise IOError('Can not connect to server.')
if not C.auth(jid.getNode(),PASS):
    raise IOError('Can not auth with server.')
C.send(xmpp.protocol.Message("friend@chat.facebook.com","Hello world",))

这段代码可以通过gchat发送消息,但是当我尝试使用facebook时,会收到此错误:

查找_xmpp-client._tcp.chat.facebook.com时发生错误

当我从FACEBOOK_ID删除@ chat.facebook.com时,我得到的是:

File "gtalktest.py", line 11, in 
    if not C.connect((SERVER,5222)):
  File "/home/john/xmpppy-0.3.1/xmpp/client.py", line 195, in connect
    if not CommonClient.connect(self,server,proxy,secure,use_srv) or secureNone and not secure: return self.connected
  File "/home/john/xmpppy-0.3.1/xmpp/client.py", line 179, in connect
    if not self.Process(1): return
  File "/home/john/xmpppy-0.3.1/xmpp/dispatcher.py", line 302, in dispatch
    handler['func'](session,stanza)
  File "/home/john/xmpppy-0.3.1/xmpp/dispatcher.py", line 214, in streamErrorHandler
    raise exc((name,text))
xmpp.protocol.HostUnknown: (u'host-unknown', '')

我还注意到,每次导入xmpp时,运行时都会收到以下两条消息:

/home/john/xmpppy-0.3.1/xmpp/auth.py:24: DeprecationWarning: the sha module is deprecated; use the hashlib module instead
  import sha,base64,random,dispatcher
/home/john/xmpppy-0.3.1/xmpp/auth.py:26: DeprecationWarning: the md5 module is deprecated; use hashlib instead
  import md5

对于解决这类问题,我还是相当陌生,并提供建议或与资源的链接,这些资源可以帮助我继续解决这些问题,将不胜感激.谢谢阅读!

解决方法:

我也开始了相同的项目,并陷入了同样的问题.我也找到了解决方案.您必须输入facebook的用户名(因此,您必须选择一个用户名),并且也要使用小写字母.这是最重要的部分.很可能您也像我一样不会用小写字母写它.

上一篇:javascript-关于Facebook Timer的问题困扰着我


下一篇:PHP-Facebook SDK照片返回空白数组