'è·ååå«çŸ€ååçŸ€å·çåè¡š, å¹¶å­å¥cache, å¶äž­gcäžºçŸ€å·
:type group_id: str
:return:list
return list sample
"gc": 114302207,
"gn": "æµè¯çŸ€1",
"owner": 484216451
"gc": 125299202,
"gn": "æµè¯çŸ€2",
"owner": 242917661'

def get_group_list_with_group_id(self):

    try_times = 0
    while (try_times < 3):
        if self._get_group_list:
            response = self._get_group_list
        else:
            url = 'http://qun.qq.com/cgi-bin/qun_mgr/get_group_list'
            data = {'bkn': self.bkn}
            try:
                response = self.client.post(url, data=data, refer='http://qun.qq.com/member.html')
                response = unescape_json_response(response)
                self._get_group_list = response
                logger.debug('get_group_list    response:    {}'.format(response))
            except Exception as e:
                logger.debug(str(e))
                logger.warning('get_group_list_with_group_id    API\xe8\xaf\xb7\xe6\xb1\x82\xe5\xa4\xb1\xe8\xb4\xa5')
                try_times += 1
                continue
        try:
            rsp_json = json.loads(response)
        except ValueError:
            try_times += 1
            logger.warning('get_group_list_with_group_id    fail.    {}'.format(try_times))
            continue
        if (rsp_json.get('ec') == 0):
            group_id_list = list()
            group_id_list.extend((rsp_json.get('join') or []))
            group_id_list.extend((rsp_json.get('manage') or []))
            group_id_list.extend((rsp_json.get('create') or []))
            if group_id_list:
                for group in group_id_list:
                    self.group_id_list[str(group['gc'])] = group
                return group_id_list
            else:
                logger.warning("seems    this    account    didn't    join    any    group:    {}".format(response))
                return []
        else:
            logger.warning('get_group_list    code    unknown:    {}'.format(response))
            return None
