Bing Local Business Search API クエリと応答の送信と使用
警告
2020 年 10 月 30 日に、Bing Search API は Azure AI サービスから Bing Search サービスに移行されました。 このドキュメントは、参考用としてのみ提供されています。 更新されたドキュメントについては、Bing search API のドキュメントを参照してください。 Bing 検索用の新しい Azure リソースを作成する手順については、「Azure Marketplace から Bing Search リソースを作成する」を参照してください。
Bing Local Business Search API から、検索クエリをそのエンドポイントに送信し、必須の Ocp-Apim-Subscription-Key
ヘッダーを含めることで、ローカルの結果を得ることができます。 使用可能なヘッダーとパラメーターと共に、検索対象の領域の地理的境界と、返される場所のカテゴリを指定して、検索をカスタマイズすることができます。
要求の作成
Bing Local Business Search API に要求を送信するには、検索語句を q=
パラメーターに追加してから、それを API エンドポイントに追加して、Ocp-Apim-Subscription-Key
ヘッダーを含めます。 次に例を示します。
https://api.cognitive.microsoft.com/bing/localbusinesses/v7.0/search?q=restaurant+in+Bellevue
完全な要求 URL の構文を以下に示します。 要求の送信について詳しくは、Bing Local Business Search API のクイック スタート、およびヘッダーとパラメーターのリファレンス コンテンツを参照してください。
ローカル検索カテゴリについては、「Search categories for the Bing Local Business Search API」 (Bing Local Business Search API の検索カテゴリ) を参照してください。
https://api.cognitive.microsoft.com/bing/v7.0/localbusinesses/search[?q][&localCategories][&cc][&mkt][&safesearch][&setlang][&count][&first][&localCircularView][&localMapView]
応答の使用
Bing Local Business Search API からの JSON 応答には、SearchResponse
オブジェクトが含まれます。 API では、places
フィールドに関連する検索結果が返されます。 結果が見つからない場合、places
フィールドは応答に含まれません。
Note
URL の書式とパラメーターは、予告なしで変更されることがあるため、すべての URL をそのまま使用してください。 明記されている場合を除いて、URL の書式またはパラメーターに依存しないでください。
{
"_type": "SearchResponse",
"queryContext": {
"originalQuery": "restaurant in Bellevue"
},
"places": {
"totalEstimatedMatches": 10,
. . .
検索結果の属性
API によって返される JSON の結果には、次の属性が含まれます。
- _type
- address
- entityPresentationInfo
- geo
- id
- name
- routeablePoint
- telephone
- url
ヘッダー、パラメーター、市場コード、応答オブジェクト、エラーなどの一般的な情報については、Bing Local Search API v7 のリファレンスをご覧ください。
注意
お客様およびお客様の代理を務める第三者のいずれも、Local Search API から取得したデータを Microsoft 以外のサービスまたは機能のテスト、開発、トレーニング、頒布、または提供を目的として利用、保持、保存、キャッシュ、共有、または配布することは認められません。
JSON の応答例
次の JSON 応答には、クエリ ?q=restaurant+in+Bellevue
で指定された検索結果が含まれています。
Vary: Accept-Encoding
BingAPIs-TraceId: 5376FFEB65294E24BB9F91AD70545826
BingAPIs-SessionId: 06ED7CEC80F746AA892EDAAC97CB0CB4
X-MSEdge-ClientID: 112C391E72C0624204153594738C63DE
X-MSAPI-UserState: aeab
BingAPIs-Market: en-US
X-Search-ResponseInfo: InternalResponseTime=659,MSDatacenter=CO4
X-MSEdge-Ref: Ref A: 5376FFEB65294E24BB9F91AD70545826 Ref B: BY3EDGE0306 Ref C: 2018-10-16T16:26:15Z
apim-request-id: fe54f585-7c54-4bf5-8b92-b9bede2b710a
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
x-content-type-options: nosniff
Cache-Control: max-age=0, private
Date: Tue, 16 Oct 2018 16:26:15 GMT
P3P: CP="NON UNI COM NAV STA LOC CURa DEVa PSAa PSDa OUR IND"
Content-Length: 978
Content-Type: application/json; charset=utf-8
Expires: Tue, 16 Oct 2018 16:25:15 GMT
{
"_type": "SearchResponse",
"queryContext": {
"originalQuery": "restaurant Bellevue"
},
"places": {
"totalEstimatedMatches": 50,
"value": [{
"_type": "LocalBusiness",
"id": "https:\/\/cognitivegblppe.azure-api.net\/api\/v7\/#Places.0",
"name": "Facing East Taiwanese Restaurant",
"url": "http:\/\/litadesign.wix.com\/facingeastrestaurant",
"entityPresentationInfo": {
"entityScenario": "ListItem",
"entityTypeHints": ["Place", "LocalBusiness", "Restaurant"]
},
"geo": {
"latitude": 47.6199188232422,
"longitude": -122.202796936035
},
"routablePoint": {
"latitude": 47.6199188232422,
"longitude": -122.201713562012
},
"address": {
"streetAddress": "1075 Bellevue Way NE Ste B2",
"addressLocality": "Bellevue",
"addressRegion": "WA",
"postalCode": "98004",
"addressCountry": "US",
"neighborhood": "Bellevue",
"text": "1075 Bellevue Way NE Ste B2, Bellevue, WA 98004"
},
"telephone": "(425) 688-2986"
}],
"searchAction": {
"location": [{
"name": "Bellevue, Washington"
}],
"query": "restaurant"
}
}
}
スロットル リクエスト
サービスとサブスクリプションの種類によって、1 秒あたりのクエリ数 (QPS) が決まります。 アプリケーションに、クォータ内に収めるロジックを含めるようにしてください。 QPS の上限に達するか超えた場合、要求は失敗し、HTTP 429 状態コードが返されます。 応答には、Retry-After
ヘッダーが含まれています。これは、別の要求を送信できるようになるまでに待機する必要がある時間を示します。
サービス拒否とスロットリング
このサービスは、サービス拒否 (DoS) 攻撃と QPS 違反を区別しています。 サービスが DoS 攻撃を疑っている場合、要求は成功します (HTTP 状態コードは 200 OK)。 しかし、応答の本文は空になります。