有啥方法可以在不使用 XMPP 协议的情况下连接到 Facebook 聊天服务?

Posted

技术标签:

【中文标题】有啥方法可以在不使用 XMPP 协议的情况下连接到 Facebook 聊天服务?【英文标题】:Is there any way to connect to the Facebook chat service without using the XMPP protocol?有什么方法可以在不使用 XMPP 协议的情况下连接到 Facebook 聊天服务? 【发布时间】:2012-03-27 13:01:16 【问题描述】:

我正在尝试创建一个应用程序,它基本上是一个 Linux 命令行 Messenger 应用程序,仅用于 Facebook 聊天。当您使用 XMPProtocol 连接到 facebook 聊天时,您可以向所有朋友发送即时消息,但您只能看到来自在线出现的朋友的消息。如果离线朋友向您发送消息,您将看不到它。我已经用各种使用 XMPP 连接到 facebook 聊天的聊天程序(如 pidgin)对此进行了测试。

有一个名为“Messenger”的 iPhone 应用程序,即使您的朋友似乎离线,您也可以发送和接收即时消息。这怎么可能?您必须使用其他协议吗?我尝试对此进行研究,虽然有很多关于 XMPP 基本上有这个限制的参考资料,但没有关于你如何解决这个问题的参考资料。我会很感激有关我应该寻找的方向的任何线索(可能只是协议的名称,具有此功能的开源项目等)。

【问题讨论】:

请注意,XMPP 服务器可以缓存发送给离线用户的消息并在用户登录时转发它们。Facebook 可能不会这样做,但这不是协议。 它确实做到了。我发送给离线用户的消息会立即送达,但我看不到他们的回复(因为他们离线)。 【参考方案1】:

聊天和收件箱是同一个 Facebook 后端的两个面孔...所以我的意思是您可以通过 Graph Api http GET 读取 Facebook 朋友发送的消息...https://graph.facebook.com/me/inbox?access_token=xxxxxx

【讨论】:

以上是关于有啥方法可以在不使用 XMPP 协议的情况下连接到 Facebook 聊天服务?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不存储凭据的情况下连接到KeyVault?

如何在不使用 *** 映像的情况下连接到 docker 中的 ***?

在不安装客户端软件的情况下连接到 ***

如何在不使用@符号连接到DB的情况下连接到DB。调用sqlplus UNAME @ DBNAME /密码@ \ Filelocation

如何在不使用 EF 的情况下连接到 ASP.NET Core Web API 中的数据库?

如何在不指定数据库名称的情况下连接到 PostgreSQL?