我想添加阻止,解除阻止和檢索阻止用戶在我的聊天Web應用程序中列出的功能。Quickblox:在WEB聊天中阻止解除阻止和阻止列表
對於這一點,我修改quickblox.js通過添加新功能,將會在下面_enableCarbons()
功能塊列表如下:
getBlockList: function() {
iq = $iq({
//from: connection.jid, //Also tried to sent this but same response was received
type: 'get',
id: connection.getUniqueId('sendIQ')
}).c('blocklist', {
xmlns: "urn:xmpp:blocking"
});
connection.sendIQ(iq, function(stanza) {
console.log("response of getBlockList",stanza);
callback();
});
}
在調用上面下面的XML功能被髮送到服務器:
<iq type="get" id="3:sendIQ" xmlns="jabber:client">
<blocklist xmlns="urn:xmpp:blocking"></blocklist>
</iq>
這作爲迴應請發送以下xml:
<iq id="3:sendIQ" to="[email protected]/1220770403-quickblox-228541" type="error" xmlns="jabber:client">
<blocklist xmlns="urn:xmpp:blocking"></blocklist>
<error type="cancel" code="501">
<feature-not-implemented xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"></feature-not-implemented>
<text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" xml:lang="en">Feature not supported yet.</text>
</error>
</iq>
請讓我知道如果我需要發送其他事情或一些錯誤我在做。 我跟着http://xmpp.org/extensions/xep-0191.html鏈接檢索塊列表
我也跟着XEP-0016,並通過代碼將用戶添加到隱私列表的改變:
block : function(userId,callback) {
iq = $iq({
from: connection.jid,
type: 'set',
id: connection.getUniqueId('sendIQ')
}).c('query', {
xmlns: "jabber:iq:privacy"
}).c('list',{
name : 'public'
}).c('item',{
type : 'jid',
value : this.helpers.getUserJid(userId, this.service.getSession().application_id),
action : 'deny',
order : new Date().getTime()
});
connection.sendIQ(iq, function(stanza) {
console.log("response of getBlockList",stanza);
callback(stanza);
});
}
此發送以下XML:
<iq from="[email protected]/1220770403-quickblox-233195" type="set" id="3:sendIQ" xmlns="jabber:client">
<query xmlns="jabber:iq:privacy">
<list name="public">
<item type="jid" value="[email protected]" action="deny" order="1444815897276"></item>
</list>
</query>
</iq>
迴應,我從服務器得到的是:
<iq id="3:sendIQ" to="[email protected]/1220770403-quickblox-233195" type="error" xmlns="jabber:client">
<query xmlns="jabber:iq:privacy">
<list name="public">
<item value="[email protected]" action="deny" order="1444815897276" type="jid"></item>
</list>
</query>
<error type="modify" code="400">
<bad-request xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"></bad-request>
</error>
輸入代碼在這裏
我也嘗試過,但在錯誤請求的響應中出錯。我剛剛更新了我的帖子,請檢查並讓我知道那裏有什麼問題。 –
必須包含'訂單'屬性,其值必須是列表中所有項目中唯一的非負整數。 (如果客戶端嘗試創建或更新具有非唯一訂單值的列表,則服務器必須向客戶端返回 節錯誤。) –
如何在發送請求時識別訂單號是唯一的在列表中添加項目。 –