2016-11-21 11 views
1

これはクエリ用のコードです。C#でのGoogleカスタム検索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、すなわちのFileType、DateRestrictなどのようなプロパティが含まれてい

EDIT: 私は、このページを使用しています: https://developers.google.com/custom-search/json-api/v1/reference/cse/list

+0

おかげで、それはパラメータに関する適切な文書を持っていない、と私はどのPARAMTERを使用できない場合は、それがエラーを生成使用する。 これはgithubのURLです。 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

関連する問題