2016-11-21 83 views
1

这是我的查询代码。C#中的Google Custom Search API:寻呼

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,但我找不到任何示例代码或适当的文档。

回答

0

如果问题与关于分页的标题相似,则CseResource.ListRequest listRequest具有属性Start - 您可以指定要从哪个结果获取数据(请记住每个查询返回的结果只有10个)。

所以你第一次执行它没有启动设置,并且每个子调用执行应该由10

增加入门如果额外的过滤器 - 也listRequest包含这样即文件类型,DateRestrict等特性

编辑: 我使用这个页面: https://developers.google.com/custom-search/json-api/v1/reference/cse/list

+0

感谢您的留言,它没有对参数适当的文件,我不能使用的放慢参数使用。 这是github的网址。 https://github.com/google/google-api-dotnet-client/tree/master/Src/Generated/Google.Apis.Customsearch.v1 –

1

我改变了这样的代码和它的作品。

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

+0

Num = 12将无法工作,因为有一个限制 - 最多10个结果每个查询。开始参数将取决于查询 - 如果结果数小于100,则可能发生它不起作用。请检查count属性的响应。 – smartobelix