使用 xmppframework 在 iphone 上进行 facebook 聊天

Posted

技术标签:

【中文标题】使用 xmppframework 在 iphone 上进行 facebook 聊天【英文标题】:facebook chat on the iphone using xmppframework 【发布时间】:2011-05-13 18:10:42 【问题描述】:

我首先按照这里的所有说明进行操作: http://code.google.com/p/xmppframework/wiki/FacebookChatHowTo

我使用了推荐的 facebook api 分支并尝试了最新的: https://github.com/facebook/facebook-ios-sdk/

我的问题始于以下错误:

< failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl">< not-authorized/></failure>

该错误是 facebook 对 xmppframework 对身份验证质询的响应的回复。 iphone做出的响应是base64编码的msg,当我解码时我发现其中2个值为空: api_key=(空) 和 session_key=(null)

这显然是 facebook 返回该错误的原因。但我遇到的问题是我似乎找不到在框架中设置这些值的任何位置。此外,我认为 session_key 无论如何都应该从 facebook 中提取。

我想我想知道几件事。

有没有人让 xmppframework 在 iDevice 上与 facebook 一起工作?

如果你让它工作了,你是否不得不偏离http://code.google.com/p/xmppframework/wiki/FacebookChatHowTo 上的说明路径?

你知道任何其他方法可以让 facebook 聊天在 iphone 上工作吗?

对于我目前的困境的任何建议或帮助将不胜感激。如果你愿意,很高兴分享我的代码。

干杯

【问题讨论】:

【参考方案1】:

我为 XMPPFramework 编写了 Facebook 集成。 api_key 和 session_key 来自对 auth.PromoteSession 的调用。 Facebook 正在尝试弃用该调用,因此要启用它,您必须按照操作指南中的第 7 步操作:

    在 Migrations 下,将 Disable Deprecated Auth Methods 从 Enabled 更改为 Disabled 并保存更改。

【讨论】:

我确实使用了已弃用的 api。将重新检查 api 和 session。谢谢 我们更新了 XMPPFramework 以适应 2011 年 10 月 1 日 Facebook 的 OAuth 2.0 更改。新流程更加简单,并记录在代码和 wiki 中。

以上是关于使用 xmppframework 在 iphone 上进行 facebook 聊天的主要内容,如果未能解决你的问题,请参考以下文章

Xmppframework for iphone 在模拟器上运行良好,但在设备上运行不正常?

xmppframework iphone群聊得到“错误代码 - 404,收件人不可用”

xmppframework开发基础

将 XMPP 与 iPhone SDK 一起使用?

iOS上的XMPPFramework -xmppRoomDidDestroy:没有被调用

如何使用 XMPP 框架在 iphone 中实现实时聊天? [关闭]