Google Custom Search API в C#: пейджинг
Это мой код для запроса.
String query = 'abc';
CustomsearchService customSearchService = new CustomsearchService(new Google.Apis.Services.BaseClientService.Initializer() { ApiKey = apiKey });
Google.Apis.Customsearch.v1.CseResource.ListRequest listRequest = customSearchService.Cse.List(query);
listRequest.Cx = searchEngineId;
search_results = listRequest.Execute();
Как я могу добавить параметры, такие как фильтрация здесь? Я искал весь интернет и GitHub, но я не мог найти образец кода или надлежащую документацию.
2 ответа
Если вопрос такой же, как в заголовке о подкачке страниц, то CseResource.ListRequest listRequest имеет свойство Start - там вы можете указать, из какого результата вы хотите получить данные (имейте в виду, что возвращается только 10 результатов на запрос).
Таким образом, в первый раз вы выполняете его без установки Start, и каждый дополнительный вызов должен увеличить Start на 10.
Если дополнительные фильтры - также listRequest содержит свойства, такие как FileType, DateRestrict и т. Д.
РЕДАКТИРОВАТЬ: я использую эту страницу: https://developers.google.com/custom-search/json-api/v1/reference/cse/list
Я изменил код, как это, и он работает.
CustomsearchService customSearchService = new CustomsearchService(new Google.Apis.Services.BaseClientService.Initializer() { ApiKey = apiKey });
Google.Apis.Customsearch.v1.CseResource.ListRequest listRequest = customSearchService.Cse.List(query);
listRequest.Cx = searchEngineId;
listRequest.Start = 20;
listRequest.Num = 5;
search_results = listRequest.Execute();
Но он генерирует ошибку, если listRequest.Start = 100 или listRequest.Num = 12