NewsOperationsExtensions.SearchAsync メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
News Search API を使用すると、検索クエリをBingに送信し、検索クエリに関連するニュースの一覧を取得できます。 このセクションでは、ニュースを要求するために使用するクエリ パラメーターとヘッダー、およびそれらを含む JSON 応答オブジェクトに関する技術的な詳細について説明します。 要求の作成方法を示す例については、「 Web でニュースを検索する」を参照してください。
public static System.Threading.Tasks.Task<Microsoft.Azure.CognitiveServices.Search.NewsSearch.Models.News> SearchAsync (this Microsoft.Azure.CognitiveServices.Search.NewsSearch.INewsOperations operations, string query, string acceptLanguage = default, string userAgent = default, string clientId = default, string clientIp = default, string location = default, string countryCode = default, int? count = default, string freshness = default, string market = default, int? offset = default, bool? originalImage = default, string safeSearch = default, string setLang = default, string sortBy = default, bool? textDecorations = default, string textFormat = default, System.Threading.CancellationToken cancellationToken = default);
static member SearchAsync : Microsoft.Azure.CognitiveServices.Search.NewsSearch.INewsOperations * string * string * string * string * string * string * string * Nullable<int> * string * string * Nullable<int> * Nullable<bool> * string * string * string * Nullable<bool> * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.CognitiveServices.Search.NewsSearch.Models.News>
<Extension()>
Public Function SearchAsync (operations As INewsOperations, query As String, Optional acceptLanguage As String = Nothing, Optional userAgent As String = Nothing, Optional clientId As String = Nothing, Optional clientIp As String = Nothing, Optional location As String = Nothing, Optional countryCode As String = Nothing, Optional count As Nullable(Of Integer) = Nothing, Optional freshness As String = Nothing, Optional market As String = Nothing, Optional offset As Nullable(Of Integer) = Nothing, Optional originalImage As Nullable(Of Boolean) = Nothing, Optional safeSearch As String = Nothing, Optional setLang As String = Nothing, Optional sortBy As String = Nothing, Optional textDecorations As Nullable(Of Boolean) = Nothing, Optional textFormat As String = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of News)
パラメーター
- operations
- INewsOperations
この拡張メソッドの操作グループ。
- query
- String
ユーザーの検索クエリ文字列。 クエリ文字列を空にすることはできません。 クエリ文字列には、 高度な演算子Bing含まれる場合があります。 たとえば、ニュースを特定のドメインに制限するには、 site: 演算子を使用します。 このパラメーターは、News Search API でのみ使用してください。 トレンド トピック API またはニュース カテゴリ API を呼び出すときは、このパラメーターを指定しないでください。
- acceptLanguage
- String
ユーザー インターフェイス文字列に使用する 1 つ以上の言語のコンマ区切りのリスト。 リストでは優先度の高いものから順に指定します。 必要な形式などの追加情報については、 RFC2616 を参照してください。 このヘッダーと setLang クエリ パラメーターは相互に排他的です。両方を指定しないでください。 このヘッダーを設定する場合は、cc クエリ パラメーターも指定する必要があります。 結果を返す市場を決定するために、Bingはリストから最初にサポートされている言語を使用し、それを cc パラメーター値と組み合わせます。 サポート対象言語がリストに含まれていない場合、要求がサポートされる最も近い言語と市場が Bing によって検出されるか、集計された市場または既定の市場が結果に使用されます。 Bing によって使用された市場を確認するには、BingAPIs-Market ヘッダーを調べます。 複数の言語を指定する場合にのみ、このヘッダーと cc クエリ パラメーターを使用します。 それ以外の場合は、mkt クエリ パラメーターおよび setLang クエリ パラメーターを使用します。 ユーザー インターフェイス文字列は、ユーザー インターフェイスでラベルとして使われる文字列です。 JSON 応答オブジェクトには、いくつかのユーザー インターフェイス文字列があります。 応答オブジェクト内の Bing.com プロパティへのリンクには、指定された言語が適用されます。
- userAgent
- String
要求送信元のユーザー エージェント。 Bing では、モバイル ユーザーに最適なエクスペリエンスを提供するためにユーザー エージェントが使用されます。 省略可能ですが、このヘッダーは常に指定することをお勧めします。 ユーザーエージェントは、よく使用されるブラウザーによって送信されるのと同じ文字列にする必要があります。 ユーザー エージェントの詳細については、「 RFC 2616」を参照してください。ユーザー エージェント文字列の例を次に示します。 Windows Phone: Mozilla/5.0 (互換性があります。MSIE 10.0;Windows Phone 8.0;Trident/6.0;IEMobile/10.0;腕;タッチ;ノキア;Lumia 822)。 Android: Mozilla / 5.0 (Linux;U;Android 2.3.5;en - us;SCH - I500 Build / GINGERBREAD) AppleWebKit / 533.1 (KHTML; like Gecko) Version / 4.0 Mobile Safari / 533.1。 iPhone: Mozilla / 5.0 (iPhone;MAC OS X のような CPU iPhone OS 6_1) AppleWebKit / 536.26 (KHTML; like Gecko) Mobile / 10B142 iPhone4;1 BingWeb / 3.03.1428.20120423。 PC: Mozilla / 5.0 (Windows NT 6.3;WOW64;Trident / 7.0;タッチ;rv:11.0) に似ています。 iPad: Mozilla / 5.0 (iPad;MAC OS X のような CPU OS 7_0) AppleWebKit / 537.51.1 (Gecko のような KHTML) バージョン / 7.0 Mobile / 11A465 Safari / 9537.53
- clientId
- String
このヘッダーは、Bing API の呼び出し間で一貫性のある動作をユーザーに提供するために Bing によって使用されます。 Bing によって、新しい機能と改善点が頻繁にフライト化されます。そして、トラフィックを異なるフライトに割り当てるためのキーとして、クライアント ID が使用されます。 複数の要求に対してユーザーの同じクライアント ID を使用しないと、ユーザーが複数の競合するフライトに割り当てられる可能性があります。 複数の競合するフライトに割り当てられると、ユーザー エクスペリエンスの一貫性がなくなる場合があります。 たとえば、2 番目の要求に 1 番目とは異なるフライトが割り当てられていると、エクスペリエンスが予期しないものになる可能性があります。 また、クライアント ID は、そのクライアント ID の検索履歴に合わせて Web の結果を調整し、ユーザーにリッチなエクスペリエンスを提供するために Bing によって使用される場合があります。 このヘッダーは、クライアント ID で生成されたアクティビティを分析して結果の順位付けを向上させるために Bing によって使用されることもあります。 関連性の向上は、Bing API によって提供される結果の品質向上に役立ち、API コンシューマーのクリックスルー率の向上を実現します。 重要: このヘッダーは省略可能ですが、必須であると考える必要があります。 同じエンド ユーザーとデバイスの組み合わせによる複数の要求に対してクライアント ID を保持することで、1) API コンシューマーが一貫性のあるユーザー エクスペリエンスを受け取ることができ、2) Bing API からの結果の品質向上を通じてクリックスルー率の向上が実現します。 デバイスでアプリケーションを使用する各ユーザーは、Bing によって生成された一意のクライアント ID を持っている必要があります。 このヘッダーを要求に含めない場合、Bing によって ID が生成され、それが X-MSEdge-ClientID 応答ヘッダーで返されます。 このヘッダーを要求に含めるべきでない唯一の場合は、ユーザーがそのデバイスでアプリを初めて使用するときです。 そのユーザーのためにアプリによってデバイスで実行される各 Bing API 要求で、クライアント ID を使用します。 クライアント ID を保持します。 ブラウザー アプリで ID を永続化するには、永続的な HTTP Cookie を使用して ID がすべてのセッションで確実に使用されるようにします。 セッション Cookie は使用しないようにしてください。 モバイル アプリなど、他のアプリの場合は、デバイスの永続的ストレージを使用して ID を保持します。 次にそのデバイスでユーザーがアプリを使用するときに、保持したクライアント ID を取得します。 Bing の応答には、このヘッダーが含まれる場合と含まれない場合があります。 このヘッダーが応答に含まれる場合、クライアント ID をキャプチャして、ユーザーのためにそのデバイスで実行される後続のすべての Bing 要求でそれを使用します。 X-MSEdge-ClientID を含める場合、要求には Cookie を含めないようにしてください。
- clientIp
- String
クライアント デバイスの IPv4 アドレスまたは IPv6 アドレス。 IP アドレスは、ユーザーの位置情報の検出に使用されます。 位置情報は、安全な検索動作を決定するために Bing によって使用されます。 省略可能ですが、このヘッダーと X-Search-Location ヘッダーは常に指定することをお勧めします。 (最後のオクテットを 0 に変更するなど) アドレスを難読化しないようにしてください。 アドレスを難読化すると、デバイスの実際の場所から離れた場所が検出され、Bing から誤った結果が提供される可能性があります。
- location
- String
クライアントの地理的な場所を示す、キーと値のペアのセミコロン区切りリストです。 位置情報は、安全な検索動作を決定して関連するローカル コンテンツを返すために、Bing によって使用されます。 キーと値のペアは、<キー>:<値> の形式で指定します。 ユーザーの場所の指定に使用するキーは次のとおりです。 lat (必須): クライアントの場所の緯度 (度単位)。 緯度は、-90.0 以上、+90.0 以下である必要があります。 負の値は南半球の緯度を示し、正の値は北半球の緯度を示します。 long (必須): クライアントの場所の経度 (度単位)。 経度は、-180.0 以上、+180.0 以下である必要があります。 負の値は西半球の経度を示し、正の値は東半球の経度を示します。 re (必須): 座標の水平方向の精度を指定する半径 (メートル単位)。 デバイスの位置情報サービスによって返される値を渡します。 一般的な値は、GPS/Wi-Fi の 22 m、携帯電話基地局の三角測量の 380 m、IP 逆引き参照の 18,000 m などです。 ts (省略可能): クライアントが場所にあった時の UTC UNIX タイムスタンプ。 (UNIX タイムスタンプは、1970 年 1 月 1 日以降の秒数です)。head (省略可能): クライアントの相対見出しまたは移動方向。 移動方向は、真北を基準として時計回りに 0 から 360 度で指定します。 sp キーが 0 以外の場合にのみ、このキーを指定します。 sp (省略可能): クライアント デバイスが移動している水平方向の速度 (速度)(1 秒あたりのメートル単位)。 alt (省略可能): クライアント デバイスの高度 (メートル単位)。 are (省略可能): 座標の垂直方向の精度を指定する半径 (メートル単位)。 alt キーを指定する場合にのみ、このキーを指定します。 多くのキーは省略可能ですが、提供する情報が多いほど、場所の結果の正確さが増します。 省略可能ですが、ユーザーの地理的な場所は常に指定することをお勧めします。 位置情報を提供することは、クライアントの IP アドレスがユーザーの物理的な場所を正確に反映していない場合 (たとえば、クライアントによって VPN が使用されている場合) に特に重要です。 最適な結果を得るには、このヘッダーと X-MSEdge-ClientIP ヘッダーを含める必要がありますが、最低限、このヘッダーを含めることをお勧めします。
- countryCode
- String
結果を取得する国の 2 文字の国番号です。 この API は、米国市場のみをサポートします。 このクエリ パラメーターを指定する場合は、 に設定する必要があります。 このパラメーターを設定する場合は、Accept-Language ヘッダーも指定する必要があります。 Bingでは、言語リストから最初にサポートされている言語を使用し、その言語と指定した国コードを組み合わせて、結果を返す市場を決定します。 言語リストにサポートされている言語が含まれていない場合は、Bing要求をサポートする最も近い言語と市場を検索するか、指定された言語ではなく集計または既定の市場を結果に使用できます。 複数の言語を指定する場合にのみ、このクエリ パラメーターと Accept-Language クエリ パラメーターを使用する必要があります。それ以外の場合は、mkt クエリ パラメーターと setLang クエリ パラメーターを使用する必要があります。 このパラメーターと mkt クエリ パラメーターは相互に排他的なので、両方指定することはできません。
応答で返されるニュース記事の数。 配信される実際の数は、要求した数よりも少ない可能性があります。 既定値は 10 で、最大値は 100 です。 実際に配信される数値は、要求された数より小さい場合があります。このパラメーターを offset パラメーターと共に使用して、結果をページングできます。 たとえば、ユーザー インターフェイスに 1 ページあたり 20 個のアーティクルが表示される場合は、count を 20 に、オフセットを 0 に設定して結果の最初のページを取得します。 後続のページごとに、オフセットを 20 ずつインクリメントします (例: 0、20、40)。 複数のページで結果に重複を含めることができます。
- freshness
- String
ニュースを検出した日付と時刻Bingフィルター処理します。 使用可能なフィルター値を次に示します。 日: 過去 24 時間以内に検出されたニュースを返します。 週: 過去 7 日以内に検出されたニュースを返します。 月: 過去 30 日以内に検出されたニュースを返します。 このパラメーターは、News Search API でのみ使用します。 News Category API または Trending Topics API を呼び出すときは、このパラメーターを指定しないでください。 使用できる値は、'Day'、'Week'、'Month' です。
- market
- String
結果の取得元の市場。 通常、mkt はユーザーが要求を行っている国です。 ただし、Bingが結果を提供する国にユーザーがいない場合は、別の国になる可能性があります。 市場は、言語コード国コード><>の形式<である必要があります。 たとえば、en-US などです。 文字列では大文字と小文字が区別されません。 使用可能な市場価値の一覧については、「 市場コード」を参照してください。 注: 既知の場合は、常に市場を指定することをお勧めします。 市場を指定すると、Bing が要求をルーティングして最適な応答を返すのに役立ちます。 市場コードに記載されていない市場を指定した場合、Bingは、変更される可能性のある内部マッピングに基づいて最適な市場コードを使用します。 このパラメーターと cc クエリ パラメーターは相互に排他的なので、両方指定することはできません。
ニュースを返す前にスキップするニュースの数を示す 0 から始まるオフセット。 既定値は 0 です。 オフセットは (totalEstimatedMatches) より小さくする必要があります
- count)。 このパラメーターを count パラメーターと共に使用して、結果をページングします。 たとえば、ユーザー インターフェイスに 1 ページあたり 20 個のニュースが表示される場合は、count を 20 に、オフセットを 0 に設定して、結果の最初のページを取得します。 後続のページごとに、オフセットを 20 ずつインクリメントします (例: 0、20、40)。 複数のページで結果に重複を含めることができます。
画像の contentUrl に、元の記事の画像のサムネイルまたは画像自体を指す URL が含まれているかどうかを決定するブール値。 アーティクルにイメージが含まれており、このパラメーターが true に設定されている場合、イメージの contentUrl プロパティには、発行元の Web サイトから元のイメージをダウンロードするために使用できる URL が含まれます。 それ以外の場合、このパラメーターが false の場合、画像の contentUrl URL と thumbnailUrl URL はどちらも同じサムネイル画像を指します。 このパラメーターは、News Search API でのみ使用します。 Trending Topics API または News Category API を呼び出すときは、このパラメーターを指定しないでください。
- safeSearch
- String
成人向けコンテンツのニュースをフィルター処理します。 使用可能なフィルター値を次に示します。 オフ: 成人向けのテキスト、画像、ビデオを含むニュース記事を返します。 中程度: 成人向けテキストを含むニュース記事を返しますが、成人向けの画像やビデオは返しません。 厳密: 成人向けのテキスト、画像、ビデオを含むニュース記事は返さないでください。 Bingの成人向けポリシーで safeSearch が Strict に設定されている必要がある市場からの要求の場合、Bingは safeSearch 値を無視し、Strict を使用します。 site: クエリ演算子を使用する場合、safeSearch クエリ パラメーターの設定に関係なく、応答に成人向けコンテンツが含まれている可能性があります。 サイトを使用する: サイト上のコンテンツを認識していて、シナリオが成人向けコンテンツの可能性をサポートしている場合にのみ使用します。 指定できる値は、'Off'、'Moderate'、'Strict' です。
- setLang
- String
ユーザー インターフェイス文字列に使用する言語。 ISO 639-1 の 2 文字言語コードを使って言語を指定します。 たとえば、英語の言語コードは EN です。 既定値は EN (英語) です。 省略可能ですが、常に言語を指定することをお勧めします。 通常、ユーザーがユーザー インターフェイス文字列を別の言語で表示する場合を除き、setLang は mkt で指定された同じ言語に設定します。 このパラメーターと Accept-Language ヘッダーは相互に排他的です。両方を指定しないでください。 ユーザー インターフェイス文字列は、ユーザー インターフェイスでラベルとして使われる文字列です。 JSON 応答オブジェクトには、いくつかのユーザー インターフェイス文字列があります。 また、応答オブジェクト内の Bing.com プロパティへのリンクには、指定された言語が適用されます。
- sortBy
- String
ニュースを返す順序。 次の値を指定できます。大文字と小文字は区別されません。 日付: 要求が News Search API を使用している場合、応答は最新から最も古いものまでの日付で並べ替えられたニュース記事を返します。 要求が News Trending Topics API を使用している場合、応答は最新から最も古い日付に並べ替えられたトレンド トピックを返します。
表示文字列に、ヒット強調表示文字などの装飾マーカーが含まれているかどうかを決定するブール値。 true の場合、文字列にはマーカーを含めることができます。 既定値は false です。 マーカーとして Unicode 文字または HTML タグのどちらを使用するかを指定するには、 textFormat クエリ パラメーターを参照してください。 ヒット 強調表示の詳細については、「ヒット 強調表示」を参照してください。
- textFormat
- String
テキスト装飾に使用するマーカーの種類 (textDecorations クエリ パラメーターを参照)。 指定できる値は Raw です。Unicode 文字を使用して、特別な書式設定が必要なコンテンツをマークします。 Unicode 文字の範囲は E000 ~ E019 です。 たとえば、Bingでは、E000 と E001 を使用して、クエリ用語の先頭と末尾にヒット強調表示のマークを付けます。 HTML — HTML タグを使用して、特別な書式設定が必要なコンテンツをマークします。 たとえば、b> タグを使用して<、表示文字列内のクエリ用語を強調表示します。 既定値は Raw です。 、 などの<>&エスケープ可能な HTML 文字を含む表示文字列の場合、textFormat が HTML に設定されている場合、Bingは文字を適切にエスケープします (たとえば、 < は lt;に&エスケープされます)。 使用可能な値は、'Raw'、'Html' です。
- cancellationToken
- CancellationToken
キャンセル トークン。
戻り値
適用対象
Azure SDK for .NET