package weibo4j;
import java.util.List;
import java.util.Map;
import weibo4j.model.PostParameter;
import weibo4j.model.SchoolSearch;
import weibo4j.model.WeiboException;
import weibo4j.org.json.JSONArray;
import weibo4j.util.ArrayUtils;
import weibo4j.util.WeiboConfig;
public class Search extends Weibo {
private static final long serialVersionUID = 1060145395982699914L;
public Search(String access_token) {
this.access_token = access_token;
}
// ---------------------------------搜索接口-----------------------------------------------
/**
* 搜索用户时的联想搜索建议
*
* @param q
* 搜索的关键字,必须做URLencoding
* @return
* @throws WeiboException
* when Weibo service or network is unavailable
* @version weibo4j-V2 1.0.2
* @see http://open.weibo.com/wiki/2/search/suggestions/users
* @since JDK 1.5
*/
public JSONArray searchSuggestionsUsers(String q) throws WeiboException {
return client
.get(WeiboConfig.getValue("baseURL")
+ "search/suggestions/users.json",
new PostParameter[] { new PostParameter("q", q) },
access_token).asJSONArray();
}
/**
* 搜索用户时的联想搜索建议
*
* @param q
* 搜索的关键字,必须做URLencoding
* @param count
* 返回的记录条数,默认为10
* @return
* @throws WeiboException
* when Weibo service or network is unavailable
* @version weibo4j-V2 1.0.2
* @see http://open.weibo.com/wiki/2/search/suggestions/users
* @since JDK 1.5
*/
public JSONArray searchSuggestionsUsers(String q, int count)
throws WeiboException {
return client.get(
WeiboConfig.getValue("baseURL")
+ "search/suggestions/users.json",
new PostParameter[] { new PostParameter("q", q),
new PostParameter("count", count) }, access_token)
.asJSONArray();
}
/**
* 搜索公司时的联想搜索建议
*
* @param q
* 搜索的关键字,必须做URLencoding
* @return
* @throws WeiboException
* when Weibo service or network is unavailable
* @version weibo4j-V2 1.0.2
* @see http://open.weibo.com/wiki/2/search/suggestions/companies
* @since JDK 1.5
*/
public JSONArray searchSuggestionsCompanies(String q) throws WeiboException {
return client
.get(WeiboConfig.getValue("baseURL")
+ "search/suggestions/companies.json",
new PostParameter[] { new PostParameter("q", q) },
access_token).asJSONArray();
}
/**
* 搜索公司时的联想搜索建议
*
* @param q
* 搜索的关键字,必须做URLencoding
* @param count
* 返回的记录条数,默认为10
* @return
* @throws WeiboException
* when Weibo service or network is unavailable
* @version weibo4j-V2 1.0.2
* @see http://open.weibo.com/wiki/2/search/suggestions/companies
* @since JDK 1.5
*/
public JSONArray searchSuggestionsCompanies(String q, int count)
throws WeiboException {
return client.get(
WeiboConfig.getValue("baseURL")
+ "search/suggestions/companies.json",
new PostParameter[] { new PostParameter("q", q),
new PostParameter("count", count) }, access_token)
.asJSONArray();
}
/**
* 搜索应用时的联想搜索建议
*
* @param q
* 搜索的关键字,必须做URLencoding
* @return
* @throws WeiboException
* when Weibo service or network is unavailable
* @version weibo4j-V2 1.0.2
* @see http://open.weibo.com/wiki/2/search/suggestions/apps
* @since JDK 1.5
*/
public JSONArray searchSuggestionsApps(String q) throws WeiboException {
return client
.get(WeiboConfig.getValue("baseURL")
+ "search/suggestions/apps.json",
new PostParameter[] { new PostParameter("q", q) },
access_token).asJSONArray();
}
/**
* 搜索应用时的联想搜索建议
*
* @param q
* 搜索的关键字,必须做URLencoding
* @param count
* 返回的记录条数,默认为10
* @return
* @throws WeiboException
* when Weibo service or network is unavailable
* @version weibo4j-V2 1.0.2
* @see http://open.weibo.com/wiki/2/search/suggestions/apps
* @since JDK 1.5
*/
public JSONArray searchSuggestionsApps(String q, int count)
throws WeiboException {
return client.get(
WeiboConfig.getValue("baseURL")
+ "search/suggestions/apps.json",
new PostParameter[] { new PostParameter("q", q),
new PostParameter("count", count) }, access_token)
.asJSONArray();
}
/**
* 搜索学校时的联想搜索建议
*
* @param q
* 搜索的关键字,必须做URLencoding
* @return
* @throws WeiboException
* when Weibo service or network is unavailable
* @version weibo4j-V2 1.0.2
* @see http://open.weibo.com/wiki/2/search/suggestions/schools
* @since JDK 1.5
*/
public List<SchoolSearch> searchSuggestionsSchools(String q)
throws WeiboException {
return SchoolSearch
.constructSchoolSearch(client.get(
WeiboConfig.getValue("baseURL")
+ "search/suggestions/schools.json",
new PostParameter[] { new PostParameter("q", q) },
access_token));
}
/**
* 搜索学校时的联想搜索建议
*
* @param q
* 搜索的关键字,必须做URLencoding
* @param count
* 返回的记录条数,默认为10
* @param type
* 学校类型,0:全部、1:大学、2:高中、3:中专技校、4:初中、5:小学,默认为0
* @return
* @throws WeiboException
* when Weibo service or network is unavailable
* @version weibo4j-V2 1.0.2
* @see http://open.weibo.com/wiki/2/search/suggestions/schools
* @since JDK 1.5
*/
public List<SchoolSearch> searchSuggestionsSchools(String q, int count,
int type) throws WeiboException {
return SchoolSearch.constructSchoolSearch(client.get(
WeiboConfig.getValue("baseURL")
+ "search/suggestions/schools.json",
new PostParameter[] { new PostParameter("q", q),
new PostParameter("count", count),
new PostParameter("type", type) }, access_token));
}
/**
* 搜索学校时的联想搜索建议
*
* @param map
* 参数列表
* @return
* @throws WeiboException
* when Weibo service or network is unavailable
* @version weibo4j-V2 1.0.2
* @see http://open.weibo.com/wiki/2/search/suggestions/schools
* @since JDK 1.5
*/
public List<SchoolSearch> searchSuggestionsSchools(Map<String, String> map)
throws WeiboException {
PostParameter[] parList = ArrayUtils.mapToArray(map);
return SchoolSearch.constructSchoolSearch(client.get(
WeiboConfig.getValue("baseURL")
+ "search/suggestions/schools.json", parList, access_token));
}
/**
* @用户时的联想建议
* @param q
* 搜索的关键字,必须做URLencoding
* @param type
* 联想类型,0:关注、1:粉丝
* @return
* @throws WeiboException
* when Weibo service or network is unavailable
* @version weibo4j-V2 1.0.2
* @see http://open.weibo.com/wiki/2/search/suggestions/at_users
* @since JDK 1.5
*/
public JSONArray searchSuggestionsAtUsers(String q, int type)
throws WeiboException {
return client.get(
WeiboConfig.getValue("baseURL")
+ "search/suggestions/at_users.json",
new PostParameter[] { new PostParameter("q", q),
new PostParameter("type", type) }, access_token)
.asJSONArray();
}
/**
* @用户时的联想建议
* @param q
* 搜索的关键字,必须做URLencoding
* @param count
* 返回的记录条数,默认为10,粉丝最多1000,关注最多2000
* @param type
* 联想类型,0:关注、1:粉丝
* @param range
* 联想范围,0:只联想关注人、1:只联想关注人的备注、2:全部,默认为2
* @return
* @throws WeiboException
* when Weibo service or network is unavailable
* @version weibo4j-V2 1.0.2
* @see http://open.weibo.com/wiki/2/search/suggestions/at_users
* @since JDK 1.5
*/
public JSONArray searchSuggestionsAtUsers(String q, int count, int type,
int range) throws WeiboException {
return client.get(
WeiboConfig.getValue("baseURL")
+ "search/suggestions/at_users.json",
new PostParameter[] { new PostParameter("q", q),
new PostParameter("count", count),
new PostParameter("type", type),
new PostParameter("range", range) }, access_token)
.asJSONArray();
}
/**
* @用户时的联想建议
* @param map
* 参数列表
* @return
* @throws WeiboException
* when Weibo service or network is unavailable
* @version weibo4j-V2 1.0.2
* @see http://open.weibo.com/wiki/2/search/suggestions/at_users
* @since JDK 1.5
*/
public JSONArray searchSuggestionsAtUsers(Map<String, String> map)
throws WeiboException {
PostParameter[] parList = ArrayUtils.mapToArray(map);
return client.get(
WeiboConfig.getValue("baseURL")
+ "search/suggestions/at_users.json", parList, access_token)
.asJSONArray();
}
}