2016-11-21 93 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