Dla każdego, kto musiałby przykład roboczy Custom Search API z wykorzystaniem biblioteki Google, można użyć tej metody:
public static List<Result> search(String keyword){
Customsearch customsearch= null;
try {
customsearch = new Customsearch(new NetHttpTransport(),new JacksonFactory(), new HttpRequestInitializer() {
public void initialize(HttpRequest httpRequest) {
try {
// set connect and read timeouts
httpRequest.setConnectTimeout(HTTP_REQUEST_TIMEOUT);
httpRequest.setReadTimeout(HTTP_REQUEST_TIMEOUT);
} catch (Exception ex) {
ex.printStackTrace();
}
}
});
} catch (Exception e) {
e.printStackTrace();
}
List<Result> resultList=null;
try {
Customsearch.Cse.List list=customsearch.cse().list(keyword);
list.setKey(GOOGLE_API_KEY);
list.setCx(SEARCH_ENGINE_ID);
Search results=list.execute();
resultList=results.getItems();
}
catch ( Exception e) {
e.printStackTrace();
}
return resultList;
}
Ta metoda zwraca listę obiektów rezultacie, dzięki czemu można wykonać iterację nim
List<Result> results = new ArrayList<>();
try {
results = search(QUERY);
} catch (Exception e) {
e.printStackTrace();
}
for(Result result : results){
System.out.println(result.getDisplayLink());
System.out.println(result.getTitle());
// all attributes:
System.out.println(result.toString());
}
Jak zauważyliście, trzeba zdefiniować niestandardową GOOGLE_API_KEY, SEARCH_ENGINE_ID, zapytania i HTTP_REQUEST_TIMEOUT, tj
private static final int HTTP_REQUEST_TIMEOUT = 3 * 600000;
używam Gradle zależności:
dependencies {
compile 'com.google.apis:google-api-services-customsearch:v1-rev57-1.23.0'
}
Możliwa powielać http://stackoverflow.com/q/3727662/776084 – RanRag
@RanRag: dnt myślę, że to duplikat, ponieważ tutaj wiem o Google Custom Search API.The Jedyne, o co pytam, to kilka dobrych kodów java, aby zacząć z tym. –