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

Другие вопросы по тегам