@SuppressWarnings("deprecation")
	public List<VineUser> searchUser(String term) throws Exception {
		if (this.authenticated && !TextUtil.isempty(key)) {
			if (!TextUtil.isempty(term)) {
				term = URLEncoder.encode(term);
				HttpResponse response = HttpUtil.get(
						Constants.VINE_API_SEARCH_USER.replaceAll("\\{term\\}",
								term), this.key, null);
				InputStream is = HttpUtil.getInputStreamHttpResponse(response);
				JSONObject jsonResponse = (JSONObject) JSONUtil.fromJSONStream(is);
				if (JSONUtil.getBoolean(jsonResponse, "success")) {
					JSONObject data = (JSONObject) jsonResponse.get("data");
					if (data != null) {
						List<VineUser> users = new ArrayList<VineUser>();
						JSONArray records = JSONUtil.getJSONArray(data,
								"records");
						if (records != null && records.size() > 0) {
							for (int i = 0; i < records.size(); i++) {
								try {
									JSONObject u = (JSONObject) records.get(i);
									VineUser user = new VineUser(u);
									users.add(user);
								} catch (Exception e) {
									e.printStackTrace();
								}
							}
						}
						return users;
					} else {
						throw new Exception("(104) Server return empty data");
					}
				} else {
					String errorText = JSONUtil
							.getString(jsonResponse, "error");
					long errorCode = JSONUtil.getLong(jsonResponse, "code");
					throw new Exception(
							"(105) Server returns Error => Error Code : '"
									+ errorCode + "' Error Detail :'"
									+ errorText + "'");
				}
			} else {
				throw new Exception("(109) User seacrh term is empty");
			}
		} else {
			throw new Exception("(103) Authenticate first");
		}
	}