public UidResult  getUid(String accessToken)
    {
        String respStr = getUidStr(accessToken, TX_GET_OPEN_ID);

        UidResult result = new UidResult();
        if (respStr == null || "".equals(respStr)) {
        	result.setRv(ERROR_NETWORK_CALL);
        	return result;
        }
        
        if (respStr.startsWith("callback")) {
        	int lpos = respStr.indexOf("(");
            int rpos = respStr.indexOf(")");
            String response = respStr.substring(lpos + 1, rpos - 1);

            Object obj = JSON.parse(response);
    		JSONObject msg = (JSONObject)obj;
    		
    		int errcode = msg.getIntValue("error");
            if (errcode != 0) {
                result.setRv(errcode);
                result.setErrmsg(msg.getString("error_description"));
            } else if (msg.getString("openid") != null) {
                result.setRv(ERROR_SUCCESS);
                String uid = msg.getString("openid");
                result.setUid(uid);
                this.uid = uid;
            } else {
                result.setRv(ERROR_FAIL_DEFAULT);
            }
        }
        return result;
    }