如何在 iOS 中请求 Facebook XMPP 聊天权限?

Posted

技术标签:

【中文标题】如何在 iOS 中请求 Facebook XMPP 聊天权限?【英文标题】:How to request for Facebook XMPP chat permission in iOS? 【发布时间】:2014-04-01 01:15:45 【问题描述】:

我的应用需要向用户的 Facebook 好友发送私信。用户需要先授予 XMPP 权限,我的应用才能执行此操作。

[[FBSession activeSession]
    requestNewPublishPermissions:[NSArray arrayWithObjects:
        @"publish_stream",
        @"xmpp_login",
        nil
    ]
    defaultAudience:FBSessionDefaultAudienceEveryone
    completionHandler:^(FBSession *session, NSError *error) 
    
];

上面的代码会按预期弹出这个警报视图:

但是,即使在点击任何按钮之前,调试日志中也会打印出此警告:

FBSDKLog:FBSession:发布或管理的权限请求 权限包含意外的读取权限

果然,在点击“确定”按钮后,完成处理程序返回一个错误,包含相同的警告。我了解 Facebook API 需要分别请求读取和写入权限,但 xmpp_login 权限似乎需要同时读取和写入。我在这里陷入了死胡同。

ios 7.1 Facebook SDK 3.12.0 Xcode 5.1

【问题讨论】:

你有聊天演示吗,请给我。谢谢。 【参考方案1】:

请参阅this link 中的扩展权限部分。

据此,xmpp_login读取 权限,而不是写入/发布权限。所以你应该添加 readPermission

【讨论】:

但是,如果我需要做的不仅仅是阅读人们的消息怎么办?我需要消息。 没关系。要集成聊天 API,您只需要拥有 xmpp_login 权限,即 read 权限。

以上是关于如何在 iOS 中请求 Facebook XMPP 聊天权限?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android (2014) 中使用 aSmack XMPP 库实现 facebook 聊天? [关闭]

如何使用 XMPP 和 BOSH 实现 Facebook 聊天

使用 facebook 数据在 XMPP 服务器上注册

Facebook : 如何使用 xmpp 将私人消息作为粉丝页面发送

在 Python 中使用访问令牌通过 XMPP 发送 Facebook 消息

Facebook XMPP 聊天连接