8 messages in com.googlegroups.google-talk-openRe: jabber:iq:privacy
FromSent OnAttachments
Ping13 Jul 2006 02:55 
alton broecher13 Jul 2006 02:59 
Kev13 Jul 2006 04:14 
Ping13 Jul 2006 21:02 
alton broecher14 Jul 2006 01:20 
Simon21 Jul 2006 02:46 
Ping26 Jul 2006 19:40 
Simon26 Jul 2006 23:57 
Subject:Re: jabber:iq:privacy
From:Ping (hpli@gmail.com)
Date:07/13/2006 09:02:51 PM
List:com.googlegroups.google-talk-open

Kev 寫道:

As far as I know, GT blocks anyone without a roster subscription to you, so simply removing auth should do it. It might be a shame GT doesn't support j:i:privacy atm but remember it's only in beta, I'm sure they'll implement the full spec later on.

Thank you! I have found that the tricks of google talk about how to block and remove contacts.

1. get roster with "google:roster" name space and specify the ext to "2": <iq type="get"> <query xmlns="jabber:iq:roster" xmlns:gr="google:roster" gr:ext="2" /> </iq> it will return the normal roster xml with some google:roster extension attributes in it, and the most important is that it will tell google talk server that you want to have google:roster extension messages.

2. block some contact: just set gr:t="B" <iq type="set"> <query xmlns="jabber:iq:roster" xmlns:gr="google:roster" gr:ext="2" > <item gr:t="B" xmlns:gr="google:roster" jid="some@gmail.com" /> </query> </iq> then you have some@gmail.com blocked. you can just remove gr:t attribute to unblock the contact: <iq type="set"> <query xmlns="jabber:iq:roster" xmlns:gr="google:roster" gr:ext="2" > <item jid="some@gmail.com" /> </query> </iq>

3. if you want to remove a google talk user without changing the subscription status, you can use this trick also. just set gr:t="H"