我正在为我的聊天应用程序使用xmpp框架iOS库,得到一些关于用户的最后一次活动的问题"禁止"错误
这是获取用户上次活动的代码
let senderJID = XMPPJID.init(string:detailVC.bareJidStr)
let lastAcivity = appDelegate.lastActivity?.sendQuery(to: senderJID, withTimeout: XMPPStreamTimeoutNone)
print(lastAcivity as Any)
public func xmppLastActivity(_ sender: XMPPLastActivity!, didReceiveResponse response: XMPPIQ!) {
// Extract the seconds from response IQ
let time = response.lastActivitySeconds()
print("time in seconds \(time)")
print("response \(response))")}
error:-> <error code="403" type="auth"><forbidden xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"></forbidden></error>
答案 0 :(得分:0)
用户需要在名单中并有权查看其他用户。最后活动XEP中解释了这一点:http://www.xmpp.org/extensions/xep-0012.html#online
如果请求实体未被授权查看用户的存在 信息(通常通过XMPP中定义的在线订阅 IM),用户的服务器绝不能将IQ-get提供给可用的 资源但反过来必须返回错误 最后一次活动请求。